Jboss EAP 6.3 integration with OracleAQ jms - jms

I have application working on Jboss eap 6.3 and Hornetq queue for jms. I have to change queue from hornetq to OracleAQ. Is there any ready resource-adapter to connect it or I have to write new one for my own? I will be gratefull for any tips how can i achieve that. Thanks in advance.

As far as I know, Oracle AQ's administered JMS objects (e.g. connection factories and destinations) must be looked up via a database connection (or perhaps LDAP) rather than JNDI. Nothing shipped with JBoss EAP can do this.
I propose to check with Oracle for information regarding a JCA resource adapter that they might provide for integration with other Java EE application servers like JBoss EAP.

Related

Mule application configured with ActiveMQ to be deployed in cloudhub

I have integrated JMS using ActiveMQ in one of my Mule application. I want to deploy it in cloudhub.
Could you please help me for the following queries:
For deploying the application with ActiveMQ configured JMS does it required anything groundwork to be done before deployment? (such as ActiveMQ is to be installed and configured for my CH account?)
For time being I have configured the ActiveMQ which is already installed in OnPremise server and is being used from cloudHub deployed application. Is it a proper or standard way to use externally installed ActiveMQ?
Appreciate the quick and best answer for the above queries.
Thank you,
Best Regards,
Krishna.
you have already installed MQ service on your server side, you can use those credentials to configure your mule MQ adapter through mule properties file same as like you are using with local runtime
e.g.
mq.host=
mq.port=
mq.vhost=
mq.username=
mq.password=
CloudHub will connect to your on premise MQ service. Your approach is correct and no any MQ specific groundwork required.

Stadlaone-full set up for wildfly

i'm tryin to run an app that runs on jboss EAP , on jboss Wildfly , but i'm having problems with the standalone-full.xml because some services like hornetq aren't available on Wildfly
is there a possible way to migrate from eap to wildfly?
any help?
This depends on your app.
Wildfly 10 ships with ActiveMq rather than HornetQ.
If your app uses standard JMS then you can configure the WF10 standalone-full to have the same JMS endpoints as your old deployment. If however your app is using the HornetQ specific client you will have to do some more work. ActiveMQ artemis integrates HornetQ protocols but it probably won't work without some trial and error in the configuration.
I would suggest starting with standalone-full.xml from Wildfly 10 and compare it with your JBoss EAP configuration. There should be an analog for each service you need. Once that is set try running your app and see what happens.

How to pool the JMS connection in a standalone Java application?

We are working on an IBM WebSphere MQ application, and we use JMS API to operate the message. But we have a problem that the connection takes too much time, and we want to pool the JMS connection, for it's a standalone application, we have no application container to provide JNDI or pooling service. So is there a solution to resolve this? For JDBC we can use DBCP or c3p0 to archive pooling datasource, in JMS, is there any similar project that can pool JMS connections?
It used to be that the JMS MQConnectionFactory had pooling built in, but it seems that in version 7, it has been removed.
Set the use of ConnectionPooling in earlier versions of the WebSphere
MQ classes for JMS. This method is retained for compatibility with
older MQJMS applications, but, because this Connection Pooling
functionality has been removed from version 7, setting this property
will have no effect.
In the absence of anything else, you can use Apache Commons Pool. Same idea as DBCP (which uses Pool) but for non JDBC objects.
Spring's CachingConnectionFactory works well for this use case.
This answer in https://stackoverflow.com/a/31119435/1765341 explains how to do this in Tomcat, but the code there can easily be adapted for Java standalone applications. This should be much easier (and less error prone) than writing an Apache Commons Pool implementation.

Weblogic JMS server configuration: JMS module to talk to JMS Server

I am fairly to new to JMS configuration in JMS.
Here is what i am trying to do.
We have multile JVMs of our applications in a single weblogic domain. We want to have JMS server installed on say one JVM and rest of the JVMs refer to the first JMS Server.
So, the configuration is:
JVM1: JMS Server is installed
JVM2: JMS Module installed
Now I need to configure JVM2 to talk to JMS server on JVM1. How do i do that?
This is on weblogic 11g
I suggest going through the basics of WebLogic 11 JMS configuration and then taking a look into this good guide from Oracle documentation. I know there is a lot of info over there, but in the long run it is better to know what you are doing rather than just copying someone else's configurations.

How do I create an MDB that listens to Oracle AQ queue under JBoss AS?

I need to listen to an Oracle AQ queue in a Java EE application that runs under JBoss AS 5.1.
I managed to create a regular JMS client using Oracle's JMS client library, but since this is a Java EE application, I'd really like to use a MDB.
I can't really find any documentation on this, and I can't find a resource adapter that lets me do this using JCA.
Can anyone tell me what's required to get this to work?
This JBoss Community Posting outlines how to do this.
I am not sure exactly which RAR to use, but my Oracle DB install contains these:
product\11.2.0\dbhome_1\oc4j\j2ee\home\connectors\ojms.rar
product\11.2.0\dbhome_1\oc4j\j2ee\home\connectors\OracleASjms\OracleASjms.rar
This stackoverflow question links to an extensive blog on the topic as well.

Resources