Liberty Profile and MQ version conflict - jms

I currently have an environment where I am trying to get a Liberty Profile v8.5.5.9(using Java 7) to utilize a WebSphere MQ v9.0.3(using Java 8). These two are on the same box, the server.xml is configured correctly, but I'm getting a namespace error when I'm trying to do a direct client connection.
I'm just trying to rule out if there's a problem using these two versions together that would cause a JNDI problem.

There apparently is a conflict between the two environments. Once I removed 9.0.3 and installed 7.5(MQ) it now works.

Related

Error connecting CICS from websphere liberty profile

I´m trying to deploy a war that connects to CISC into a Websphere Liberty Profile app server 8.5.5. It works perfectly in WAS, however there is a feature missing but I don´t know which.
java.lang.ClassNotFoundException: com.ibm.etools.marshall.util.ConversionUtils
at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:504)
at com.ibm.ws.classloading.internal.AppClassLoader.findClass(AppClassLoader.java:276)
at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:941)
at java.lang.ClassLoader.loadClass(ClassLoader.java:876)
at com.ibm.ws.classloading.internal.AppClassLoader.findOrDelegateLoadClass(AppClassLoader.java:482)
at com.ibm.ws.classloading.internal.AppClassLoader.loadClass(AppClassLoader.java:443)
at java.lang.ClassLoader.loadClass(ClassLoader.java:846)
It looks like you are missing the "Record" class from the development tools (such as Rational Application Developer). In Liberty these classes are not bundled with the runtime and need to be imported. The instructions are here:
https://www.ibm.com/support/knowledgecenter/en/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/twlp_dat_radrecdata.html
This includes the conversion utils that your stack trace is showing.

VisualVM on new 64-bit laptop with JDK7 can't connect to JMX agent

I have a Spring app that runs fine on WebLogic 10.3.x on my old Win7-32bit laptop with JDK 1.6. I can make a local connection to the app from VisualVM and view JMX properties and execute JMX methods.
I'm now setting up a new Win7-64bit laptop, with JDK 1.7 and WebLogic 12.1.2.0. The app itself works almost without change (I had to add some package overrides in the weblogic-application.xml).
However, when I installed VisualVM (1.3.7) and installed all of the relevant plugins, I can connect to the process, but when I try to open the MBeans tab, it says:
Data not available because JMX connection to the JMX agent could not be established.
There's nothing useful in the VisualVM log. I don't have quick access to the old laptop right now. Is there perhaps a WebLogic command-line option I need in order to allow JMX connections?
I've resolved this. It simply requires setting the "com.sun.management.jmxremote" system property on the JVMs I want to target. Curiously, I found an Oracle docs page that talks about this property, and it says it's not necessary to set this anymore. My experience conflicts with that.

MQSeries CSIException: JMSCS0002 but classpath looks ok for commonservices

In trying to connect from an MQSeries 7.5 client to a 7.5 local server I'm getting a CSIException: JMSCS0002 which when I look up the error in the IBM codes says:
JMSCS0002
The call could not be completed because CommonServices has not been initialized.
CommonServices is an internal component and needs to be initialized at startup but has failed.
Check that the installation and classpath setup is correct.
But both my compile and run classpaths include com.ibm.mq.commonservices.jar, com.ibm.msg.client.commonservices.jar, and com.ibm.msg.client.commonservices.j2se.jar
I'm was using Oracle JDK 1.6. I tried using the WS MQ java but it made no difference.
Any help appreciated. Thanks.
Caused by: com.ibm.msg.client.commonservices.CSIException: JMSCS0002
at com.ibm.msg.client.commonservices.workqueue.PIWorkQueueManager.enqueueItem(PIWorkQueueManager.java:67)
at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.enqueue(WorkQueueManager.java:225)
at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.enqueue(WorkQueueManager.java:194)
at com.ibm.msg.client.wmq.common.internal.WMQThreadPool.enqueue(WMQThreadPool.java:91)
I had been using jar files from an uninstalled MQSeries 7.5 Client because I wanted to make sure that the functionality I was using would work just with the jars provided by the free client license. According to IBM documentation taking uninstalled jars is problematic.
When I switched to the jars from the installed server trial then things works ok.

Glassfish tuning

We have here an application developed using Java EE 5 stack (using JSF, RichFaces, EJB, JPA, Hibernate, JAAS) that runs inside Glassfish 3.1! The thing is we are in need to run it as an installable deploy (actually many deploys =]).
My question is: What can we do to have the smallest footprint for the system?
I've already studied about:
uninstalling thing through upgrade tool (e.g. the admin parts),
run the application using embedded glassfish (but using the already existent domain),
configuring domain.xml to erase features (but at a trial and error way),
found some work on how to configure glassfish for production environment.
But as the system will be used by one user at a time, I would like to listen from you about options in this environment.

Websphere 6.1 to 7.0 JmqiObject and JmsQueue missing

I am trying to migrate an application from Websphere 6.1 to 7.0
I noticed that many of the ibm MQ/JMS classes have changed/disappeared =)
In particular, I am getting errors on
com.ibm.msg.client.jms.JmsQueue
com.ibm.mq.jmqi.JmqiObject
it is saying "...cannot be resolved. It is indirectly referenced from required .class files"
Does anyone know what I can do to get this to compile?
thanks
Hard to say exactly from the description so I'll provide some general pointers that may be of help.
The WMQ JMS and Java support was completely rewritten in V7 to use a common JMQI layer. This will affect the jar files that are referenced as well as the CLASSPATH and a few other things.
If you have bundled the WMQ jar files into your application, you will want to delete them and reference the ones installed with WAS instead.
If you used MDB listeners, you will need to switch to Activation Specs.
For more info, see the Integration of WebSphere MQ classes for JMS with WebSphere Application Server section in the WMQ V7 Migration manual and the CLASSPATH settings from the Environment section in the WMQ V7 Using Java manual.
The WebSphere Application Server V7 Migration Guide does not address WMQ in depth but it does have pointers to additional migration resources such as IBM Education Assistant as well as specific application and profile migration advice.

Resources