Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When you have no way to create a XAConnectionFactory in a javabean way, you can specify the className argument of PoolingConnectionFactory to be bitronix.tm.resource.jms.JndiXAConnectionFactory. This class is an implementation of XAConnectionFactory that will wrap another implementation fetched from JNDI.

...

It is often required to use credentials to be able to connect to a JNDI repository. The bitronix.tm.resource.jms.JndiXAConnectionFactory class fully supports this via its securityPrincipal and securityCredentials properties as illustrated bellow:

Code Block
PoolingConnectionFactory myConnectionFactory = new PoolingConnectionFactory ();
...
myConnectionFactory.getDriverProperties().setProperty("name", "QueueConnectionFactory@router1");
myConnectionFactory.getDriverProperties().setProperty("initialContextFactory", "com.swiftmq.jndi.InitialContextFactoryImpl");
myConnectionFactory.getDriverProperties().setProperty("providerUrl", "smqp://localhost:4001/timeout=10000");

// set JNDI username / password
myConnectionFactory.getDriverProperties().setProperty("securityPrincipal", "jndiUser");
myConnectionFactory.getDriverProperties().setProperty("securityCredentials", "jndiPassword");
...

Other JNDI properties

Some new properties have been added in BTM 1.3.3 to make the JndiXAConnectionFactory more flexible: