ActiveMQ 5.11 with WebSphere Application Server 8.5 - activemq

Does anybody know which jars from ActiveMQ 5.11 I need to use with IBM Websphere Application Server 8.5 in order to create a new ActiveMQ JMS Provider?
I found discussions related to older ActiveMQ versions that don't seem applicable anymore because the way ActiveMQ is packaged has changed:
https://www.ibm.com/developerworks/community/blogs/timdp/entry/using_activemq_as_a_jms_provider_in_websphere_application_server_7149?lang=en
ActiveMQ 5.11 doesn't seem to have activemq-core anymore, activeio-core is under "optional", and ActiveMQ seems to have switched from commons-logging to slf4j, which in itself seems to cause problems due to the fact that WAS itself ships an outdated version of the slf4j jars (see other questions here on SO).
Any advice is highly appreciated.

Figured it out. It's really simple actually. In the WAS console, go to Resources -> JMS -> JMS Providers, and create a new provider as:
Classpath:
C:/activemq-libs/activemq-client-5.10.0.jar
C:/activemq-libs/hawtbuf-1.10.jar
C:/activemq-libs/slf4j-api-1.7.5.jar
External initial context factory:org.apache.activemq.jndi.ActiveMQInitialContextFactory
External provider URL: tcp://myhost:61616
Then go to Resources -> JMS -> Queue Connection Factories and create a new one as:
Name: myQCF
JNDI Name: jms/myQueueConnectionFactory
External JNDI Name: QueueConnectionFactory
You can create a new Queue as (Resources -> JMS -> Queues):
Name: myQueue
JNDI Name: queue/myQueue
External JNDI Name: dynamicQueues/myQueue
Maarten

Related

ActiveMQ Bridge Configuration for Solace

I have a requirement to create a bridge between a Queue in ActiveMQ and a Queue in Solace. When ever there is a message in ActiveMQ Queue it should automatically get transferred to SolaceQ.
I'm struggling to find the steps for this configuration. I have ActiveMQ installed on my local machine. Request you to please throw some light on this.
FYI: I'm very new to ActiveMQ/Solace
I think you'll need to do this via JMS since both ActiveMQ and Solace support it. Check out ActiveMQ's docs here: https://activemq.apache.org/jms-to-jms-bridge

Connection Pool for IBM MQ in Spring Boot

Currently, I am using javax.jms.ConnectionFactory with Apache Camel and Spring Boot for messaging. I want to use connection pool for connecting IBM MQ in Spring bean. How can I do that?
On the IBM MQ server there should be a java/lib folder containing the JAR files you need for connecting to IBM MQ, as is being mentioned within the IBM Knowledge Center:
Within an enterprise, the following files can be moved to systems that need to run IBM MQ classes for Java applications:
com.ibm.mq.allclient.jar
com.ibm.mq.traceControl.jar
The file com.ibm.mq.allclient.jar contains the IBM MQ classes for JMS, the IBM MQ classes for Java, and the PCF and Headers Classes. If you move this file to a new location, make sure that you take steps to keep this new location maintained with new IBM MQ Fix Packs. Also, make sure that the use of this file is made known to IBM Support if you are getting an interim fix.
Within these JAR files, you can find an implementation of ConnectionFactory, called MQQueueConnectionFactory. You have to add the necessary JAR files to the classpath of your application, and then you can configure the ConnectionFactory, for example:
#Bean
public ConnectionFactory ibmConnectionFactory() throws JMSException {
MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory();
// Change this to the hostname of the IBM MQ server
connectionFactory.setHostName("myhost.example.org");
connectionFactory.setPort(1414);
// Change this to the queue manager you use
connectionFactory.setQueueManager("MQ_NAME");
connectionFactory.setTransportType(WMQConstants.WMQ_CM_CLIENT);
// Create your own channel in stead of using SYSTEM.DEF.SVRCONN
connectionFactory.setChannel("SYSTEM.DEF.SVRCONN");
return connectionFactory;
}

ActiveMQ integration with Weblogic

I have been tasked with integrating ActiveMQ with Weblogic (v 10.3.6.0).
I have downloaded ActiveMQ v 5.10.0, installed it upon the server and browsed to localhost:8161/admin in order to confirm that ActiveMQ is running.
I'm not sure how to progress from here in order to complete my goal. This link:
http://activemq.apache.org/weblogic-integration.html
.. suggests that there are two approaches to deploying ActiveMQ on Weblogic: either deploying a broker as an application or using a J2EE Connector. I'm investigating the latter approach as I have now installed ActiveMQ on the server (which means that I already have a running broker, I assume) but can't find much useful information on the Net about how to do this.
This page:
http://activemq.apache.org/resource-adapter.html
... suggests that it can be done via a JCA Resource Adapter but again does not give any details on how to do it.
If anyone has any advice or guidance, I'd appreciate it.
Thanks in advance.
Did you try this: http://activemq.apache.org/how-to-deploy-activemq-ra-versionrar-to-weblogic.html?
You will have to grab the resource adapter from maven.
Not that your local installation will help you much expect for testing etc. You should deploy AMQ inside WebLogic if you want it to serve as the JMS layer of WebLogic - otherwise a totally standalone installation is fine. But then you're done, and I suspect you want the deployed version non the less.

Setting up WebSphere MQ integration in a WebLogic clustered environment

I have a WebLogic cluster up and running an application containing an MDB. I'm currently using WebLogic JMS queues to send messages to the MDB. All is well.
I now have need to switch to IBM WebSphere MQ for my JMS messaging.
I can set this up and send/receive messages in a non-clustered environment (Admin server) using a Foreign server with a bindings file. However, I can't seem to properly configure the clustered environment for MQ integration to work correctly.
I get the following when deploying the EAR/MDB on the cluster:
The Message-Driven EJB: xxxMDB is unable to connect to the JMS destination...
javax.naming.NameNotFoundException: Unable to resolve 'jms.xxxQueue'
Can anyone point me to some documentation on how to configure IBM WebSphere MQ in a WebLogic cluster?
Thanks!
there is a need to add several MQ JMS classes to the PATH of the weblogic so it will be able to connect to MQ
the path needed to be added is : *MQ_system_path*/java/lib64
beside that here are the clasess i have found that are needed to make this thing :
com.ibm.mq.mqi.jar; com.ibm.mq.headers.jar; com.ibm.mq.jar; commonservices.jar; com.ibm.mq.jms.jar;jta.jar;
this what helped us to connect weblogic to MQ
regards
Oren yeger

Sun JMS bridge to ActiveMQ to .NET

I have Sun's Message Queue 4.3. Default installation on localhost using imqbroker daemon. Opened one queue.
I want to consume messages written to the queue above from .NET.
I understood there is ActiveMQ solution, version 5.3.
Checked ActiveMQ for .NET (version 1.1) and it works OK for ActiveMQ queues which are similar to Sun JMS.
My problem is that I want to bridge my existing Sun MQ 4.3 to an ActiveMQ queue and the documentation in http://activemq.apache.org/jms-to-jms-bridge.html
is not very clear.
can someone point exactly how to map activemq's config file to bridge:
Sun MQ queue named QUEUE1 on imqbroker#localhost:7676 (maybe jms port 1545? default install)
to
ActiveMQ queue named QUEUE2 on activemq:tcp://localhost:61616
I'm loosing it .... Thanx
You can use Apache Camel JMS component to connect the different brokers:
AFAIK Camel is included in ActiveMQ.