If I open tibjms.jar I do see XAFactory related classes.
Also in standalone.xml I specifically mentioned <transaction-support>NoTransaction</transaction-support>
...is there somewhere else I could look in the old 5.1 environment?
Hi Justin,
First of all, thanks a lot for all the help and quick responses!
Sorry for being a noob at this, but I think I am getting a better understanding with your help.
Let me summerize how I understand it now, please correct me where I am wrong:
So most importantly there is an important distinction between Inbound and Outbound messaging:
- Outbound uses the configuration in the standalone.xml
- Inbound uses the definition in deployment decriptors. I guess that would be ejb-jar.xml located in the META-INF of the ear file?!
To get the interconnections right I will explain how everything now seems connected:
My MessageListener Class:
------------------------------------
@MessageDriven(messageListenerInterface=MessageListener.class, name="UpdateEmployeeEJB")
public class UpdateEmployeeEJB extends AbstractDctmConnectionEJB<Employees, IDfSession, JmsMDBConnection>{
super class:
public abstract class AbstractDctmConnectionEJB<R extends Object, C extends IDfSession, JMS extends JmsMDBConnection> extends AbstractConnectionEJB<R, IDfSession, JMS>{
super-super class:
public abstract class AbstractConnectionEJB<R extends Object, C extends Object, JMS extends JmsMDBConnection> implements MessageListener {
------------------------------------
I guess (name="UpdateEmployeeEJB") refers to the (<ejb-name>UpdateEmployeeEJB</ejb-name>) definition in ejb-jar.xml -->
----------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
<display-name>UpdateEmployee listener</display-name>
<enterprise-beans>
<message-driven>
<display-name>UpdateEmployeeEJB</display-name>
<ejb-name>UpdateEmployeeEJB</ejb-name>
<ejb-class>nl.elexis.pdossier.ejb.UpdateEmployeeEJB</ejb-class>
<transaction-type>Container</transaction-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destination</activation-config-property-name>
<activation-config-property-value>ES.sendUpdateEmployee.dctm</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>connectionFactory</activation-config-property-name>
<activation-config-property-value>tibco</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>jndiParameters</activation-config-property-name>
<activation-config-property-value>java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory;java.naming.factory.url.pkgs=com.tibco.tibjms.naming;java.naming.provider.url=tcp://server1:20250</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>user</activation-config-property-name>
<activation-config-property-value>admin</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>password</activation-config-property-name>
<activation-config-property-value></activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
</ejb-jar>
----------------------------------------
Inbound uses the definition in deployment decriptors. I guess that would be ejb-jar.xml located in the META-INF of the ear file?!
From there I guess the jndiParameters provide the factory to load/use?
I guess the (destination) value points to the name of the queue as known by the Tibco server (server1 listing on port 20250)?
what I do not yet understand is where the (connectionFactory) value should point to...