Project

General

Profile

Image Support #3666

JBOSS EAP 7.2.0 : TIBCO queues configuration using existing jms .rar

Added by Shweta 3 months ago. Updated about 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Due date:
% Done:

100%

Operating System:
Linux
JRE:
Not Applicable
Instance Type:
Not Applicable
Your Marketplace Account ID:
2872-5568-4589
Marketplace:
Amazon Web Services
Customer State:
Sydney
Customer Country:
New South Wales

Description

Hi Team,

we are integrating jboss eap 7.2.0 with TIBCO queues using existing jms test.rar (Configured in existing application in integration with jboss eap 5).
- We have configured following ems client libraries in jboss- tibjms.jar, tibjmsadmin.jar .
- Created Create module.xml and following folders structure [Jboss7]\modules\com\tibco\tibjms\main, then copied tibjms.jar and tibjmsadmin.jar to [Jboss7]\modules\com\tibco\tibjms\main.
- A dependency to com.tibco.tibjms has been added on the server [Jboss7]\modules\org\jboss\as\ee\main\module.xml
- While adding resource adaptor in standalone-full.xml in ejb3 subsystem , we received below error :
WFLYJCA0073: Failed to load module for RA [test.rar]
([("subsystem" => "resource-adapters"),
("resource-adapter" => "test.rar")
]) - failure description: "WFLYJCA0073: Failed to load module for RA [test.rar]"

Please look into the above issues and let us know if any extra jars are required from ems client.

Would you please suggest an approach to integrate JBOSS eap 7 with tibco queues. which configurational changes are required while migrating from jboss eap5 to eap 7.2.0

Thanks and Regards,
Shweta Hegade
IPAM2 Application Support


Files

genericjms error.txt (5.4 KB) genericjms error.txt Shweta, 11/09/2020 12:32 PM
standalone-full.xml.tibco (45 KB) standalone-full.xml.tibco Mariusz, 11/26/2020 04:47 PM
server_log.txt (35.6 KB) server_log.txt Shweta, 11/27/2020 02:54 PM
server log 1.txt (30.2 KB) server log 1.txt Shweta, 11/27/2020 03:32 PM

Subtasks

Image Support #3687: JBOSS EAP 7.2.9 : Java application uses JMS messaging unable to connect to TIBCO ems queuesClosedRed Hat Support

Actions
#1

Updated by Mariusz 3 months ago

  • Status changed from New to In Progress
  • Assignee set to Mariusz
#2

Updated by Mariusz 3 months ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Mariusz to Shweta

Hi,

Please take a look a the manual [1] it describes how to add generic RA to JBoss EAP.
[1] https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuring_messaging/index#deploy_configure_generic_jms_resource_adapter

We strongly suggest upgrading your version to 7.2.9 before integration.

Thanks,
Mariusz Chwalek

#3

Updated by Shweta 3 months ago

Hi ,
We have upgraded jboss to newest patch successfully.

Kindly suggest us how to integrate jboss eap 7.2.9 with TIBCO EMS queues .

Regards,
Shweta Hegade

#4

Updated by Mariusz 3 months ago

Hi,
Have you seen last message from Red Hat support team?

Please take a look a the manual [1] it describes how to add generic RA to JBoss EAP.
[1] https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuring_messaging/index#deploy_configure_generic_jms_resource_adapter

Thanks,
Mariusz Chwalek

#5

Updated by Mariusz 3 months ago

Received from Red Hat Support:

Hello,  

It's been a while since we heard from you on this issue. Could you please let us know if you require any further help. 

If you have resolved the issue, please let us know if the information we provided was helpful or not. Alternatively you can close the case. 

Regards,  

Tom Ross

#6

Updated by Shweta 2 months ago

Hi Team,

We are getting below error while starting jboss server using standalon-full.xml :
23:39:11,425 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "resource-adapters"),
("resource-adapter" => "org.jboss.genericjms")
]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.ra.deployment.\"org.jboss.genericjms:main_org.jboss.genericjms\"" => "WFLYJCA0046: Failed to start RA deployment [org.jboss.genericjms]
Caused by: org.jboss.jca.deployers.common.DeployException: IJ020056: Deployment failed: file:/opt/jboss-eap-7.2/modules/system/layers/base/.overlays/layer-base-jboss-eap-7.2.9.CP/org/jboss/genericjms/main/
Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.naming.context.java.global.RemoteJmsXA is already registered"}}

We are trying to integrate TIBCO EMS queues with jboss eap 7.2.9 using the link shared in the previous update.

Please assist us in resolving the above issue.
Please find the attached server.log for error logs.

Regards,
Shweta Hegade

#7

Updated by Mariusz 2 months ago

  • Status changed from Feedback to In Progress
  • Assignee changed from Shweta to Mariusz
#8

Updated by Mariusz 2 months ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Mariusz to Shweta

Reply from RedHat:

Hi Shweta,

As the error

23:39:11,425 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("subsystem" => "resource-adapters"),
("resource-adapter" => "org.jboss.genericjms")
]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.ra.deployment.\"org.jboss.genericjms:main_org.jboss.genericjms\"" => "WFLYJCA0046: Failed to start RA deployment [org.jboss.genericjms]
Caused by: org.jboss.jca.deployers.common.DeployException: IJ020056: Deployment failed: file:/opt/jboss-eap-7.2/modules/system/layers/base/.overlays/layer-base-jboss-eap-7.2.9.CP/org/jboss/genericjms/main/
Caused by: org.jboss.msc.service.DuplicateServiceException: Service jboss.naming.context.java.global.RemoteJmsXA is already registered"}}

says you have jboss.naming.context.java.global.RemoteJmsXA defined twice in your configuration. You need to remove one of the definitions or change its name.

Thanks,
Mariusz

#9

Updated by Shweta about 2 months ago

Hi Mariusz ,

We have done some configuration using the URL provided by you to integrate TIBCO queues using genericjms module provided by jboss eap 7.

But we are required to integrate jboss eap 7.2 with TIBCO queues using EJB3.0 , Could you please assist us with the configuration.

Is there any difference between the configuration of ejb3:5.0 subsystem and resource-adapters:5.0 ?

Is it required to disable the messaging-activemq:4.0 subsystem while going with ejb3 configuration ?

Please find below the current configuration in the standalone-full.xml

1. Configuration of mdb in the Subsystem ejb3 :
<subsystem xmlns="urn:jboss:domain:ejb3:5.0">
<session-bean>
<stateless>
<bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
</stateless>
<stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
<singleton default-access-timeout="5000"/>
</session-bean>
<mdb>
<resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:jms-ra.rar}"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
<pools>
<bean-instance-pools>
<strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
</bean-instance-pools>
</pools>
<caches>
<cache name="simple"/>
<cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
</caches>
<passivation-stores>
<passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
</passivation-stores>
<async thread-pool-name="default"/>
<timer-service thread-pool-name="default" default-data-store="default-file-store">
<data-stores>
<file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
</data-stores>
</timer-service>
<remote connector-ref="http-remoting-connector" thread-pool-name="default">
<channel-creation-options>
<option name="READ_TIMEOUT" value="${prop.remoting-connector.read.timeout:20}" type="xnio"/>
<option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/>
</channel-creation-options>
</remote>
<thread-pools>
<thread-pool name="default">
<max-threads count="10"/>
<keepalive-time time="100" unit="milliseconds"/>
</thread-pool>
</thread-pools>
<iiop enable-by-default="false" use-qualified-name="false"/>
<default-security-domain value="other"/>
<default-missing-method-permissions-deny-access value="true"/>
<log-system-exceptions value="true"/>
</subsystem>

2. Configuration of subsystem naming :
<subsystem xmlns="urn:jboss:domain:naming:2.0">
<bindings>
<external-context name="java:global/RemoteJmsXA" module="org.jboss.genericjms.provider" class="org.jboss.jms.jndi.JNDIProviderAdapter">
<environment>
<property name="java.naming.factory.initial" value="com.tibco.tibjms.naming.TibjmsInitialContextFactory"/>
<property name="java.naming.provider.url" value="tcp://provider_url:port,tcp://provider_url:port"/>
<property name="java.naming.factory.url.pkgs" value="com.tibco.tibjms.naming"/>
<property name="org.jboss.as.naming.lookup.by.string" value="true"/>
<property name="java.naming.security.authentication" value="simple"/>
<property name="java.naming.security.principal" value="uid=*****,ou=*****"/>
<property name="java.naming.security.credentials" value="secret"/>
</environment>
</external-context>
</bindings>
<remote-naming/>
</subsystem>

3. Configuration of subsystem resource adapters :
<subsystem xmlns="urn:jboss:domain:resource-adapters:5.0">
<resource-adapters>
<resource-adapter id="org.jboss.genericjms">
<module slot="main" id="org.jboss.genericjms"/>
<transaction-support>XATransaction</transaction-support>
<connection-definitions>
<connection-definition class-name="org.jboss.resource.adapter.jms.JmsManagedConnectionFactory" jndi-name="java:global/RemoteJmsXA" pool-name="RemoteJmsXA">
<config-property name="JndiParameters">
java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory
</config-property>
<config-property name="SessionDefaultType">
javax.jms.Queue
</config-property>
</connection-definition>
</connection-definitions>
</resource-adapter>
</resource-adapters>
</subsystem>

Could you please check if the current configuration are correct.
Please let us know what should be required to configure TIBCO queues using EJB3.

Thanks & Regards,
Shweta Hegade

#10

Updated by Shweta about 2 months ago

Please help us understand how to configure TIBCO queue using ejb3.

Thanks,
Shweta Hegade

#11

Updated by Mariusz about 2 months ago

  • Assignee changed from Shweta to Red Hat Support

Waiting for Red Hat Support

#12

Updated by Mariusz about 2 months ago

Reply from Red Hat:

I'm not sure what you mean by "we are required to integrate jboss eap 7.2 with TIBCO queues using EJB3.0" since EJB3.0 have nothing to do with TIBCO queues.
Could you please elaborate?

I've attached to the case a work version of standalone-full.xml with TIBCO configuration. Please take a look and compare with yours.

Best regards - Tom Ross
#13

Updated by Shweta about 2 months ago

Hi Mariusz,

We did the configurations in our standalone-full.xml as suggested in the attached standalone file. But while deploying our application EAR using jboss cli we are facing below error :

Error log : {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"WFLYCTL0080: Failed services" => {"jboss.modul
e.service.\"deployment.rpa_2020-11-27.ear\".main" => "WFLYSRV0179: Failed to load module: deployment.rpa_2020-11-27.ear
Caused by: org.jboss.modules.ModuleNotFoundException: org.jboss.genericjms.provider","jboss.module.service.\"deployment.rpa_2020-11-27.ear.rpaws.war\".main" => "WFL
YSRV0179: Failed to load module: deployment.rpa_2020-11-27.ear.rpaws.war
Caused by: org.jboss.modules.ModuleNotFoundException: org.jboss.genericjms.provider"}}}}

Please find the attached server.log file.

Could you please check the logs and suggest us how to resolve this error.

Thanks.
Shweta Hegade,IPAM2

#14

Updated by Shweta about 2 months ago

We already have added TIBCO ems client jars in the jboss module at this location : /opt/jboss-eap-7.2/modules/system/layers/base/org/jboss/genericjms/provider and created the module.xml with below content :

<module xmlns="urn:jboss:module:1.1" name="org.jboss.genericjms.provider">

&lt;resources&gt;
&lt;resource-root path="tibjms.jar"/&gt;
&lt;resource-root path="tibjmsadmin.jar"/&gt;
&lt;/resources&gt;
&lt;dependencies&gt;
&lt;module name="javax.api"/&gt;
&lt;!-- WFLY-4656 export the JMS API module, otherwise MDB using this RA will not found JMS classes --&gt;
&lt;module name="javax.jms.api" export="true"/&gt;
&lt;/dependencies&gt;
&lt;/module&gt;

Added dependency to org.jboss.genericjms.provider in /opt/jboss-eap-7.2/modules/system/layers/base/org/jboss/as/ee/main/module.xml as below :
<dependencies>
<module name="org.jboss.genericjms.provider"/>
</dependencies>

Please verify and let us know how to proceed with the resolution.

#15

Updated by Mariusz about 2 months ago

  • Status changed from Feedback to In Progress
  • Assignee changed from Shweta to Red Hat Support
#16

Updated by Mariusz about 2 months ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Red Hat Support to Shweta

Reply from Red Hat:

The location

/opt/jboss-eap-7.2/modules/system/layers/base/org/jboss/genericjms/provider
is invalid if you applied patch CP 7.2.9 patch. the correct location would be in your case

/opt/jboss-eap-7.2/modules/system/layers/base/.overlays/layer-base-jboss-eap-7.2.9.CP/org/jboss/genericjms
It seems you have missed some of the dependencies


<module xmlns="urn:jboss:module:1.5" name="org.jboss.genericjms.provider">
<resources>
<resource-root path="tibjms.jar"/>
<resource-root path="tibrvjms.jar"/>
<resource-root path="tibjmsapps.jar"/>
<resource-root path="tibjmsadmin.jar"/>
<resource-root path="tibemsd_sec.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.jms.api"/>
<module name="org.jboss.logging" />
<module name="org.jboss.jts" />
</dependencies>
</module>
I don't understand why you added anything to

/opt/jboss-eap-7.2/modules/system/layers/base/org/jboss/as/ee/main/module.xml
Best regards - Tom Ross

#17

Updated by Shweta about 2 months ago

Hi Tom,
Thanks for your update. We have added module org.jboss.genericjms.provider and jars to this location : /opt/jboss-eap-7.2/modules/system/layers/base/.overlays/layer-base-jboss-eap-7.2.9.CP/org/jboss/genericjms and the error "org.jboss.modules.ModuleNotFoundException: org.jboss.genericjms.provider" has been resolved.

But we have only following jars tibjms.jar & tibjmsadmin.jar in our existing configuration. Is it mandatory to have all the jars mentioned above if yes then can you please suggest how to get these jars.

Currently, we are still getting error while trying to connect to jms queues. Please find the attached detailed error logs.

We are facing below errors while trying to connect to 2 different connection definations.
1.
2020-11-28 01:11:31,977 ERROR [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic Recovery) IJ000906: Error during crash recovery: java:/jms/tibco/cf/XAJMSContextConnectionFactory (Unable to setup connection): javax.resource.ResourceException: Unable to setup connection
Caused by: javax.naming.NameNotFoundException: Name not found: 'jms/cf/XAQueueConnectionFactory'

2.
2020-11-28 01:11:32,283 DEBUG [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic Recovery) Closing connection for recovery check (org.jboss.resource.adapter.jms.JmsSession@1f938dc0)
2020-11-28 01:11:32,285 DEBUG [org.jboss.jca.core.recovery.DefaultRecoveryPlugin] (Periodic Recovery) No isValid(int) method defined on connection interface (org.jboss.resource.adapter.jms.JmsSession)
2020-11-28 01:11:32,286 DEBUG [org.jboss.jca.core.recovery.DefaultRecoveryPlugin] (Periodic Recovery) Error during connection close(): java.lang.reflect.InvocationTargetException
Caused by: java.lang.NullPointerException
at //org.jboss.resource.adapter.jms.JmsSession.close(JmsSession.java:297)

If you check the attached logs, It seems in the second error , the jms session has been created using using connection factory: XATopicConnectionFactory but getting error at the closing of the session.

Please verify the logs and let us know how to proceed with the resolution.

Thanks,
Shweta Hegade,IPAM2.

#18

Updated by Shweta about 2 months ago

Hi Tom,

The first error which I had mentioned in the previous update has been resolved. Now we are getting only second error while closing the jms session.

error :
2020-11-28 02:08:04,499 DEBUG [org.jboss.jca.core.recovery.DefaultRecoveryPlugin] (Periodic Recovery) Error during connection close(): java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at //org.jboss.jca.core.recovery.DefaultRecoveryPlugin.close(DefaultRecoveryPlugin.java:107)
at //org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.closeConnection(XAResourceRecoveryImpl.java:469)
at //org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl.getXAResources(XAResourceRecoveryImpl.java:212)
at org.jboss.jts.integration//com.arjuna.ats.internal.jbossatx.jta.XAResourceRecoveryHelperWrapper.getXAResources(XAResourceRecoveryHelperWrapper.java:51)
at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:603)
at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:221)
at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:171)
at org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:770)
at org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:382)
Caused by: java.lang.NullPointerException
at //org.jboss.resource.adapter.jms.JmsSession.close(JmsSession.java:297)
... 13 more

2020-11-28 02:08:04,499 DEBUG [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic Recovery) Error during recovery plugin close()
2020-11-28 02:08:04,499 DEBUG [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic Recovery) Force close=true
2020-11-28 02:08:04,500 DEBUG [org.jboss.jca.core.tx.jbossts.XAResourceRecoveryImpl] (Periodic Recovery) Closing managed connection for recovery (JmsManagedConnection{mcf=org.jboss.resource.adapter.jms.JmsManagedConnectionFactory@271520f6, info=JmsConnectionRequestInfo{userName=n109978, password=Ipam@2020, clientID=null, transacted=true, acknowledgeMode=0, type=1}, user=n109978, pwd=Ipam@2020, isSetUp=true, isDestroyed=false, lock=org.jboss.resource.adapter.jms.ReentrantLock@70f7972a[Unlocked], con=org.jboss.resource.adapter.jms.JmsConnectionSession@18c31842, session=class com.tibco.tibjms.TibjmsXAQueueSession@680866977, xaSession=class com.tibco.tibjms.TibjmsXAQueueSession@680866977, xaResource=org.jboss.resource.adapter.jms.JmsXAResource@390b4373, xaTransacted=true, context=null, xaContext=null})

Find the attached detailed server.log for reference.

Also, Can we have a session on Monday in which we can show you our current standalone-full configuration and we can discuss the error resolution , that would be very efficient way to solve the errors that we are facing.

Please let us know your availability on 30th Nov.

Thanks,
Shweta Hegade,IPAM2

#19

Updated by Mariusz about 2 months ago

  • Status changed from Feedback to In Progress
  • Assignee changed from Shweta to Red Hat Support
#20

Updated by Mariusz about 2 months ago

  • Status changed from In Progress to Feedback
  • Assignee changed from Red Hat Support to Shweta

Hi,
We are still waiting for more information from Red Hat Support team.
Could you attach your configuration?
The error implies that you don't have JNDI name defined.

Thanks,
Mariusz Chwalek

#21

Updated by Mariusz about 2 months ago

Hi,
We have received an update from Red Hat support team asking for your configuration.
Could you possibly attach it to this ticket so I can pass it to Red Hat Support team?

Thanks,
Mariusz

#22

Updated by Shweta about 2 months ago

Hi Mariusz,

Please find the attached configuration file standalone-full.xml

Please let us know if we are missing any configuration in order to connect to tibco ems queues.

Thanks,
Shweta Hegade

#23

Updated by Shweta about 2 months ago

Hi Mariusz,

This ticket can be closed at we are working on this issue under ticket Image Support #3689

Thanks for your assistance.

Regards,
Shweta Hegade,IPAM2.

#24

Updated by Mariusz about 2 months ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF