anchor.diff:  </local-cache>
   ----
   
  +For more information, see the Quarkus link:transaction-guide.html[Transaction Guide].
  +
   === Native Limitations
  +When running Infinispan in native mode, some limitations apply:
   
  -However there are some known limitations when running in native mode.
  -
  -* JMX is not supported
  -+ GraalVM does not allow this
  -* UDP/Multicast is not supported
  -+ You must use TCP transport and a non UDP based membership protocol with JGroups
  +* JMX management is not supported.
  ++ GraalVM does not allow native VM interfaces.
  +* `UDP`/`Multicast` is not supported.
  ++ You must use `TCP` transport and a non-UDP based membership protocol with JGroups.
   
   == Injection (CDI)
  +The Infinispan embedded extension provides injection capabilities so you do not
  +have to configure and start caches manually.
   
  -You can configure and start your caches yourself or this extension provides some
  -limited injection capabilities so that you don't have to setup everything.
  +[NOTE]
  +====
  +Additional injection functionality will be available in future versions.
  +====
   
  -NOTE: Additional injection functionality will be added to future versions and this extension is mostly to allow Infinispan embedded to work in a native environment
  +`EmbeddedCacheManager`::
  +This is the main entry point to configure and obtain caches.
   
  -The currently injectable instances are:
  +Configure Infinispan embedded caches with `application.properties` in the `src/main/resources` directory.
   
  -* EmbeddedCacheManager (manager that holds the various caches)
  +Configuration properties are as follows:
   
  -This allows the user to get an application wide `EmbeddedCacheManager` that can be configured
  -with the following properties.
  -
  -The Infinispan embedded caches are configurable in the `application.properties` file that can be
  -provided in the `src/main/resources` directory. The properties are the following:
  -
  -[cols=3*,options="header"]
  +[cols=4*,options="header"]
   |===
   | Property
   | Default Value
  
positive.code: and pull requests should be submitted there:
  https://github.com/quarkusio/quarkus/tree/master/docs/src/main/asciidoc
  ////
  = Quarkus - Infinispan Embedded
  
  include::./attributes.adoc[]
  
  Infinispan is an in memory data grid that allows running an in memory cache, which can be possibly
  clustered, in your application directly.
  
  More information can be found about Infinispan at https://infinispan.org and the embedded at
  https://infinispan.org/docs/dev/user_guide/user_guide.html#cache_manager.
  
  == Adding the extension
  
  Once you have your Quarkus project configured you can add the `infinispan-embedded` extension
  to your project by running the following from the command line in your project base directory.
  
  [source]
  mvn quarkus:add-extension -Dextensions="infinispan-embedded"
  
  This will add the following to your pom.xml
  
  [source,xml]
  ----
      <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-infinispan-embedded</artifactId>
      </dependency>
  ----
  
  == Feature Support
  
  You can now use an Infinispan cache just as normal; This includes using clustered caches,
  off-heap memory, persistence and transactions. Note that this extension only includes
  the core module of Infinispan currently.
  That means indexing is not yet supported with this extension.
  
  === Transactions
  
  A Infinispan cache can be configured to be transactional. Quarkus has a different
  extension link:transaction-guide.html[Transaction Guide] that provides a way
  to have your operations operate in a transaction. Infinispan also supports this
  by ensuring that you have configiured your cache to use a specific
  `TransactionManagerLookup`. An example of the xml configuration for this is
  as the following:
  
  [source,xml]
  ----
  
negative.code: 
  | `quarkus.infinispan-embedded.xml-config`
  | <empty>
  | Specifies a valid Infinispan configuration in `XML` format, either absolute
  or relative to the working directory.
  | Runtime overridable
  
  |===
  
  [TIP]
  ====
  JMX elements are disabled during native runtime so you can use the same
  configuration file in JVM and native modes.
  ====
  