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.
Related
what is the best way to monitor the Mule ESB instances. Is there a way i can get alerted when my mule instance goes down for some reason. I have 4 instances of Mule running and how will I come to know if 1 of them got down due to some reason.
Thanks!
I assume you are running community edition? (Enterprise edition provides a Management Console which allows you to define alerts). If you are using CE, then you are able to enable JMX monitoring on the instances and then use one of many ways to verify based on JMX info, whether your server is running. One way is to write your own application that retrieves JMX data programmatically and act accordingly.
HTH
If you are using Mule EE, you can use MMC to monitor all your instances as Gabriel has already suggested. My suggestion would be to install MMC inside tomcat on a separate server. This is to ensure that even if your Mule Server crashes or goes down, your MMC is still running and can send you alerts about your Mule server downtime. You can refer below link for details on how to setup server down and up alerts.
https://developer.mulesoft.com/docs/display/current/Working+With+Alerts
Additionally I would recommend to use MMC with database persistence to ensure you have ability to recover MMC workspace even if your MMC server crashes. You can refer about MMC setup with DB persistence at below link.
https://developer.mulesoft.com/docs/display/current/Configuring+MMC+for+External+Databases+-+Quick+Reference
If you don't have Mule EE, you may want to explore other tools or customer alerting applications as suggested by Gabriel.
HTH
You can set up a JMX agent by adding the following lines into your "conf/wrapper.conf" file :
wrapper.java.additional.19=-Dcom.sun.management.jmxremote
wrapper.java.additional.20=-Dcom.sun.management.jmxremote.port=10055
wrapper.java.additional.21=-Dcom.sun.management.jmxremote.authenticate=false
wrapper.java.additional.22=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.23=-Djava.rmi.server.hostname=127.0.0.1
don't forget to change the values accordingly. Also you can implement SSL authentication with a few extra lines.
Now once your monitoring platform is set up you can always activate Java pollers and start the server.
How to verify if Mule server is deployed or not? My intention is to send a query(HTTP or something else) to Mule server and to see if it is up or down. This I want to do when no applications are deployed on the Mule server. This is to do validation post Mule server deployment. I am using community edition v3.3.0 and v3.4.0. I cannot use Mule EE version.
Thanks and Regards
Jai
That seems like a good idea.
The other option is to have you mule app sending a notification when started.
I know you said you can't use EE but the MMC module is probably what you need.
In any case they only problem with the previous approach is if you have a connectivity problem in the server you have your mule app running, but I reckon in that case you'll have several other problems.
HTH
Whenever hit the http we can see the response in console or in the logs.
First check whether your sever is running or not, give the proper url.
Needed some information on mainframe integration from Mule ESB Enterprise v 3.4 with z/OS. We don't have CICS Transaction Gateway setup and are using CICS Transaction Server v 3.2. Please let me know if there is an out-of-the-box way to achieve this integration (connection + data access {read+write}) to z/OS.
TIA.
I don't have details for a mainframe specific implementation, but I've been working with Mule for a while now and might be able to help you get to a solution.
Mule is a standalone server that runs on a machine that has Java installed on it. If z/OS has Java installed, you may be able to unpack the Mule package and start it right away. Just make sure JAVA_HOME and PATH are set properly. MULE_HOME gets set during the startup
We have good success with Mule and CICS. In our case, we use MQ to get transactions into CICS, but pretty much any method is possible - even batch, if volume is low. We've created Mule connectors for some key apps, and this makes it drop-dead simple to create complex Mule flows that drive CICS (or other mainframe services).
I have deployed two application in my mule standalone in which one application requires ActiveMQ up and running because I have applied reconnect-forever policy for connection.
but without starting ActiveMQ broker if i start mule.bat file it doesn't even deploy other applications which are not dependent on ActiveMQ.
What can be done to solve this issue so that only ActiveMQ dependent applications wait for the connection and other application start working.
Thank You.
Have you set blocking="false" in the reconnect?
In ActiveMQ, there is a concept called BrokerService. Normally for learning purposes, I am starting the broker from the command line using 'activemq' which starts the Broker.
What is the difference between starting the broker this way and using the BrokerService.start();
My guess is that when you use 'activemq' , the broker starts in its own jvm, when you use BrokerService.start(), the broker is using the existing JVM.
Is this correct?
Also, if someone can point to a resource that explains how the broker architecture is implemented in a traditional j2ee server like weblogic, that would be much appreciated.
I am mostly seeking clarification of how a broker can be deployed on a cluster?
Check out the ActiveMQ in action book. That is awesome and explains everything
My blog