JMS TextMessage - not working after deployment to WebLogic - java

I am facing a strange issue after migrating my application from OC4J to WebLogic 10.3.6 server.
My application produces JMS TextMessage into OracleAQ queue. It was working fine.
But after deploying the application to WebLogic, produced text messages are getting stored in USER_DATA_TEXT_LOB (clob) column instead of USER_DATA_TEXT_VC (varchar2) column in underlying queue, whereas the USER_DATA_TEXT_LEN is very less (less than 1k chars).
As a consequence, consumer application is failing to dequeue the message and throwing the error: Payload is NULL.
Appreciate any help in this regard.
Update:
I have tried with jms BytesMessage and it is working as expected.

I suspect this is caused by the version of the aqapi.jar and the ojdbc.jar being not the same on your OC4J and weblogic servers.
Try replacing these jar files from your OC4J to your weblogic.
Some version will change type at 500 chars while other will switch at 4000.. I'm not sure which versions it is tho, but if the first one was working you can try switching the jar files.

Related

JMS communication between WAS 6 and JBOSS EAP 6.1

I have an application deployed in Websphere which should push a message in a queue implemented in JBoss using HornetQ. That message will then be consumed by an MDB within another application (on JBoss). Is that even possible?
In summary:
WAS (producer) -> JBoss (consumer)
I think yes because the protocol JMS is shared, but what are the details? should I load JBoss with MQ libraries or is it all in the way I refer to the JBoss queue from WAS?
Thank you so much.
If the MDB deployed on JBoss EAP is receiving a message from a local queue in HornetQ, then you do not need to deploy any MQ jars.
All you will need to do is write a MDB application and read the messages in your onMessage(Message msg) method. It should be really as simple as that.
You can see an example of a MDB in the jboss eap quick start . The HelloWorldQueueMDB.java class is the one you might be interested in. Follow the code in that class and modify the destination annotation value for your particular HornetQ queue name (from standalone-full.xml or standalone-full-ha.xml or the full or full-ha profile in your domain.xml file).
On a side note, JBoss EAP 6.1 is quite old. I would highly recommend upgrading to JBoss EAP 6.4.13 or later.

java.lang.NoClassDefFoundError while calling RabbitMQ methods from ejb

I had written a custom ejb component with schedular attached to it. In the scheduled ejb method, I am calling the RabbitMQ methods to dequeue the messages. The whole thing works with in eclipse while debugging the individual java file. but the same while build and deployed on the Wildfly server, throws the "Caused by: java.lang.NoClassDefFoundError: com/rabbitmq/client/ConnectionFactory. Seems like a classpath issue but even adding the dependent jars in the manifest file doesn't help. I am blocked with this issue. Could anyone help me on this?
"
I converted the project to dynamic web project and added the Rabbit mq client libraries to the web-inf\lib folder. Now when I tried to deploy to the Wildfly server, its detecting the external assemblies and I am able to create the connection factory. Not sure its the right way to solve the issue.

Deployment Issue in Weblogic 10.3 which targets to the Managed Server

I am using Weblogic 10.3.I created a managed server along with machine.It is running well.
I try to deploy the application in weblogic I deployed which points to running managed Server but the deployment gets fails.
I am getting error has "" org/antlr/runtime/RecognitionException "".
Please help me to resolve this issue.
Thanks in advance.

Weblogic 12c stickiness issue

I am building a cluster environment with weblogic 12c as application server and I am using weblogic as LOADBALANCER,
my problem that every time I send the request to the load balancer it sends it to a different node although it should send it to the same node !!
I am sure there is a missing property to enable affility (stickiness).
any suggestions guys !
I am assuming you are using " WebLogic Proxy Plug-In " - can you confirm this is true.
The default loadbalancing algorithm is round robin When using weblogic proxy plug-in hence the behaviour you are observing is expected.
Session Stickiness comes into play only when you have an application which is using sessions, and you have defined WLCookieName parameter to the correct cookie name value in the plug-in.
http://docs.oracle.com/cd/E21764_01/web.1111/e14395/plugin_params.htm#CIHFFGEB
Tell us what request are you sending to the loadbalancer ?
is it to a static resource (like index.htm)
or is it to an application where you are maintaining a session.
Share some bit of the plugin configuration you have done.

Messages not auto-acknowleging in JBoss 6.1

We recently upgraded from JBoss 4.2 to JBoss 6.1. The new JMS messaging (now using HornetQ) gets stuck, where there are 15 consumers, but no more than 15 messages are processed. It looks like an acknowledge problem, where the messages are not getting acknowledged. They are consumed by a MDB that is written with EJB 2.0, and the acknowledge-mode is Auto-acknowledge (we are currently experimenting with bringing it up to 2.1 to see if that makes a difference). Has anyone experience this? Is there a way to configure the server to Auto-acknowledge by default?
The bean is in a container managed transaction.
The source of the problem is here. Once that exception happens, the queue is basically dead, and will not acknowledge further messages.
You should provide a valid testcase to HornetQ developers (or application server developers) showing that there's a valid usecase you are doing, and it's not an invalid usage.
So far the exception you showed is caused by an invalid XA usage, what doesn't make it a bug on HornetQ so far.

Categories

Resources