SwiftMQ's JNDI replication can be used to replicate its JNDI content into a LDAP server. Due to LDAP naming conventions, this requires some special configurations.
Create a new JNDI replication either with SwiftMQ Explorer/CLI or directly in the routerconfig.xml.
Example:
<swiftlet name="sys$jndi">
<aliases>
<alias name="testqueue" map-to="testqueue@router1"/>
</aliases>
<jndi-replications>
<jndi-replication name="netscape" enabled="true"
keepalive-lookup-name="cn=testtopic" name-prefix="cn=">
<environment-properties>
<environment-property name="java.naming.factory.initial"
value="com.sun.jndi.ldap.LdapCtxFactory"/>
<environment-property name="java.naming.provider.url"
value="ldap://localhost:389/o=SwiftMQ"/>
<environment-property name="java.naming.security.authentication"
value="simple"/>
<environment-property name="java.naming.security.credentials"
value="secret"/>
<environment-property name="java.naming.security.principal"
value="cn=Directory Manager"/>
</environment-properties>
</jndi-replication>
</jndi-replications>
<remote-queues>
<remote-queue name="testqueue@router2"/>
</remote-queues>
</swiftlet>
The above example uses the Nescape Directory Server, connects to localhost at port 389 and uses the root context with name "SwiftMQ".
Important configuration issues:
It is recommended to enable the "jndi" trace space in the Trace Swiftlet during the configuration to see what's going on during the replication.