Enqueue JMS message to JMS advanced queue and raise business event.
Hi,
I am needing guidance on how to raise a business event with a JMS message type and enqueue it to an outbound queue WF_JMS_OUT from a PL/SQL stored procedure. I'm on version 11.5.10.2.
I found an Oracle tutorial "Oracle Workflow and Java Messaging Service (JMS) Tutorial" which describes some of this but it mentions scripts to create the queues, listen for events, etc. and I can not find these (they are not included in the document).
Any guidance, links or sample code, greatly appreciated!
Cheers
Graham
I tried in the same way. But i got error in OSB.
The error message is "Failed to lookup connection factory CustomConnectionFactory"
CustomConnectionFactory -- This is my connection factory name.
Do i need to make any jndi configurations in weblogic?
Thank you.
Similar Messages
-
JMS Messages getting stuck in queues
Hi,
I am facing this peculiar issue with queue messages not getting picked up.
Application Architecture: There is 1 JMS queue ( which resides in WLDomain1 with in a Unix Box) and there are 2 windows boxes having 2 weblogic domains each with 3 instances of MDB deployed on each of the domains. So total of 12 consumers (2 Box * 2 Domain * 3 Instances of MDB) listens to the JMS queue.
Issue: After bringing everything up I am able to see 12 consumer count listening to the queue. But when I run the application which writes total of 13 messages in the queue only 7 of them are getting processed and 6 messages are always getting stuck in the queues. Interestingly this 7 messages are mostly getting processed by consumers with in the same windows box. And the selection of windows box is completely random. To confirm whether both the windows boxes are configured fine I tried to test them individually and it works fine individually, the problem happens only if I bring up both the boxes together.
Another observation is, if I bring down the non working domains, the pending messages start getting processed by the working domains. It gives an impression that the non working domains seem to lock the messages for processing but doesn't actually process it. Only when I bring down the domains it releases this lock.
Below is the JMS Life cycle events I captured from log files :
1. Start domain1 in WIN Box1
####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040304> <783400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <> <>
####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040309> <239900> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <> <>
####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040313> <2100> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <> <>
2. Start domain2 in WIN Box 1
####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095403> <38600> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <> <>
####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095407> <335400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <> <>
####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095410> <997700> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <> <>
3. Start domain1 in WIN Box 2
####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172061> <316500> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session80.consumer82)> <> <>
####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172066> <324300> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session83.consumer85)> <> <>
####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172072> <757000> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session86.consumer88)> <> <>
4. Start domain2 in WIN Box 2
####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214000> <142800> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session90.consumer92)> <> <>
####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214005> <38200> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session93.consumer95)> <> <>
####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214009> <22400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session96.consumer98)> <> <>
At this point console shows 12 consumers listening the queue which is absolutely fine.
5. Run application
--Message Production
This produces 13 messages ( I have not pasted the complete log)
-- Message Consumption ( Only 7 messages are consumed)
####<Nov 24, 2009 8:00:05 PM CST> <> <> <1259114405953> <576400> <ID:<1047832.1259114392542.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114392542</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410091> <310100> <ID:<1047832.1259114393181.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393181</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410130> <364600> <ID:<1047832.1259114400626.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400626</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410134> <540700> <ID:<1047832.1259114393125.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393125</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410137> <632400> <ID:<1047832.1259114393128.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393128</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:12 PM CST> <> <> <1259114412026> <984200> <ID:<1047832.1259114393123.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114393123</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:00:16 PM CST> <> <> <1259114416045> <41800> <ID:<1047832.1259114400005.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400005</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
6. At this point Admin Consol shows 6 messages pending in the queue
and From consumer numbers it is evident that consumers in WIN Box2 domains have not processed any messages
Now if I stop server in WIN Box2 Domain1, WIN Box1 picks up the messages instantely
####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202343> <897600> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session80.consumer82)> <> <>
####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202346> <421900> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session83.consumer85)> <> <>
####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202379> <582300> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session86.consumer88)> <> <>
####<Nov 24, 2009 8:13:24 PM CST> <> <> <1259115204888> <4600> <ID:<1047832.1259114400029.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400029</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:13:32 PM CST> <> <> <1259115212820> <256700> <ID:<1047832.1259114400258.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400258</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:13:43 PM CST> <> <> <1259115223579> <280600> <ID:<1047832.1259114400032.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400032</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
7. At this poing Admin Consol shows 3 messages pending in the queue
Now if I stop server in WIN Box2 Domain2, the remaining 3 gets processed
####<Nov 24, 2009 8:16:08 PM CST> <> <> <1259115368998> <193400> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session90.consumer92)> <> <>
####<Nov 24, 2009 8:16:08 PM CST> <> <> <1259115369000> <885500> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session93.consumer95)> <> <>
####<Nov 24, 2009 8:16:09 PM CST> <> <> <1259115369002> <902500> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session96.consumer98)> <> <>
####<Nov 24, 2009 8:16:25 PM CST> <> <> <1259115385151> <123700> <ID:<1047832.1259114400324.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400324</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:16:29 PM CST> <> <> <1259115389660> <836600> <ID:<1047832.1259114400535.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400535</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
####<Nov 24, 2009 8:16:37 PM CST> <> <> <1259115397823> <610200> <ID:<1047832.1259114400432.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <<?xml version="1.0" encoding="UTF-8"?>
<mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"><mes:Header><mes:JMSTimestamp>1259114400432</mes:JMSTimestamp><mes:Properties/></mes:Header></mes:WLJMSMessage>> <>
Kindly throw some light on this issue. Also do let me know if you need any more specific details about this.
Thanks,
Abhijeet
Edited by: user5240164 on Nov 25, 2009 11:35 AM
Edited by: user5240164 on Nov 28, 2009 1:21 PMHi,
The problem may be conflicting names in your configuration. To ensure proper operation of WL Security, JMS, JTA, and JDBC, make sure that (A) each domain has a unique name, and (B) no two WebLogic servers have the same name (even if in two different domains).
To ensure a more even distribution of messages, either simply send more than a token amount messages (eg, a hundred or so, rather than just 12), or configure a custom connection factory on the domain that hosts the queue, reduce MessagesMaximum on the connection factory to 1, and then modify each MDB to refer to the custom connection factory. The MessagesMaximum setting controls the number of messages that can be pre-pushed (pipelined) to a single asynchronous consumer.
For more information see "Best Practices for JMS Beginners and Advanced Users" in the latest versions of the JMS admin guide, and "JMS Performance & Tuning Check List" in the WebLogic Performance and Tuning guide.
Tom -
I've seen some similar questions, but want to make sure I can get an answer quickly and how to fix.
Thanks,
Paul
spid24s Error: 28005, Severity: 16, State: 2
spid24s An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated,
or you do not have permission.Hi Paul,
I also had the same error on one of my servers, and it was because the user that created the database no longer worked for the company.
So when his AD account got deleted, the database had NULL as owner
Using the following query I asked for the owners of the databases:
select name, suser_sname(sid) from master.dbo.sysdatabases
So changing the owner of the databases that had a NULL owner solved the issue for me.
use <databasesname>
go
exec sp_changedbowner 'sa'
Thanks for triggering the solution.
Peter -
Error while enqueue-ing messages in Jms Queue
While testing the ProcessSalesOrderFulfillmentOSMCFSCommsJMSProducer_1.0 process , in the Order to Bill PIP, we are encountering the following error ,
09/10/08 15:05:07 Error initializing the Oracle JMS Resource provider for Queues: Io exception: Got minus one from a read call
<2009-10-08 15:05:07,060> <WARN> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JMSMessageConsumer_init: Retrying connection; attempt #231
09/10/08 15:05:29 Stop process
09/10/08 15:05:31 Shutting down...
09/10/08 15:05:37 Error initializing the Oracle JMS Resource provider for Queues: Io exception: Got minus one from a read call
<2009-10-08 15:05:37,875> <WARN> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JMSMessageConsumer_init: Retrying connection; attempt #232
<2009-10-08 15:05:43,484> <INFO> <collaxa> <ServerManager::uninit> Shutting down all domains
<2009-10-08 15:05:43,487> <INFO> <default.collaxa.cube.engine> <AdapterStats::uninit:Done uninitializing Adapter statistics holder for engine > default
<2009-10-08 15:05:43,494> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::uninit Shutting down the JCA activation agent, processId='bpel://localhost/default/AIAReadJMSNotificationProcess~1.0/', activation properties={portType=Consume_Message_ptt}
<2009-10-08 15:05:43,494> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - performing endpointDeactivation for portType=Consume_Message_ptt, operation=Consume_Message
<2009-10-08 15:05:43,494> <INFO> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JmsResourceAdapter_endpointDeactivation: Deactivating endpoint Endpoint_10
<2009-10-08 15:05:44,547> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Stopping inbound part of Adapter Framework instance: OraBPEL
<2009-10-08 15:05:45,549> <INFO> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JmsResourceAdapter_stop: Jms Adapter stopped
<2009-10-08 15:05:45,550> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::uninit Shutting down the JCA activation agent, processId='bpel://localhost/default/AIADiagnosticsDequeueMessageVerification~1.0/', activation properties={portType=Consume_Message_ptt}
<2009-10-08 15:05:45,550> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - performing endpointDeactivation for portType=Consume_Message_ptt, operation=Consume_Message
<2009-10-08 15:05:45,550> <WARN> <default.collaxa.cube.ws> <JMSAdapter::Outbound> JmsResourceAdapter_endpointDeactivation: Cannot deactivate. Endpoint oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec@c50033 has not been activated before.
<2009-10-08 15:05:45,550> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Stopping inbound part of Adapter Framework instance: OraBPEL
<2009-10-08 15:05:45,570> <INFO> <default.collaxa.cube.engine> <AdaptorManager::unload> Uninitialized adaptors for platform 'ias_10g', datasource 'oracle'
<2009-10-08 15:05:45,570> <INFO> <default.collaxa.cube.engine> <CubeEngine::uninit> Uninitialized BPEL domain "default"
<2009-10-08 15:05:45,577> <INFO> <default.collaxa.cube.engine> <CubeEngine::unload> Unloaded BPEL domain "default"
<2009-10-08 15:05:45,577> <INFO> <collaxa> <ServerManager::uninit> Done shutting down all domains
09/10/08 15:06:07 Error initializing the Oracle JMS Resource provider for Queues: Io exception: Got minus one from a read call
and after restarting OC4J we are able to enqueue messages into the database queue.If anyone has encountered similar problem could you please provide your suggestion to fix this issue .Thanks.
Regards,
Keynes.What have you configured for the response tab for the sender? Are you using the MPL or the MDB?
Take a look at:
MPL Best Practices (Doc Id 1308165.1)
Oracle WebLogic JMS Integration (Doc Id: 1308181.1) -
How to send a JMS message to a remote Queue?
Hi,
I know how to create a JMS message and send it to an MDB that listens to a topic in the same container in which the JMS is created.
In other words, if I have the following MDB:
@MessageDriven(mappedName = "jms/MyQueue", ...)
public class MyMDB implements MessageListener {
Elsewhere in my JEE app I can create a Queue like this:
@Resource(mappedName = "jms/MyQueue")
Queue queue;
and use it to send a message to the MDB.
But How can I send a message to an MDB that's deployed in another app server on another machine in the network? Both of the app servers are Glassfish.
Thanks in advance.
Edited by: EJP on 9/08/2011 21:49: fixed your meaningless titleHi,
The first thing I would like to suggest is, we never/can't send message directly to MDB. We always send/receive message(s) to/from the destination. In case of MDB, the application server register the MDB as message listener against particular destination, and invoked the onMessage() method when message arrives on particular destination.
If I am not wrong, what you want to achieve is asynchronous communication between two applications deployed in two different machine. In your case, you want your one application works as message producer and other act as an message consumer, and both are deployed in different machine.
In this situations, you only need to configure the JMS administration object, connection factories and destinations, on one Application server and configure other application server to use those configuration using JMS resource adapter. you can well achieve this by configuring the JMS Resource Adapter. you need to check the Glassfish documentation.
If you don't want to break the JMS specification, always communicate with Messaging Provider through Resource Adapter.
I hope this helps. -
Error connecting WLS 10.3.1 JMS & MDBs with Oracle Advanced Queuing
I followed the guide at http://blogs.oracle.com/imc/2010/12/how_to_use_oracle_aq_with_message-driven_beans_in_weblogic.html. Since the AQ queues were already set up by SAs and had been working with stateless session beans, I assume they're OK for use with MDBs. Names had to be changed in the WLS foreign server definition, destinations & connection factories to match.
My MDB is:
package xxxx;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
@MessageDriven(name = "TestQueueListenerEJB")
public class TestQueueListener implements MessageListener
public void onMessage(Message message)
if ( message instanceof TextMessage )
try
System.out.println("AQMDBTest: text message " + ((TextMessage)message).getText() + " processed");
catch (JMSException e)
e.printStackTrace();
else
System.out.println("AQMDBTest: generic message " + message.toString() +
" of type " + message.getClass().getName() + " processed");
And the relevant portion of the weblogic-ejb-jar.xml is:
<weblogic-enterprise-bean>
<ejb-name>TestQueueListenerEJB</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>1</max-beans-in-free-pool>
<initial-beans-in-free-pool>1</initial-beans-in-free-pool>
</pool>
<destination-jndi-name>TestQueue</destination-jndi-name>
<connection-factory-jndi-name>TestQueueConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
So when I deploy this to my test domain I get an error:
<Feb 23, 2011 3:11:28 PM CST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: TestQueueListenerEJB is unable to connect to the
JMS destination: TestQueue. The Error was:
Can not get destination information. The destination JNDI name is TestQueue, the provider URL is null>
The test connection of the datasource is successful.
What else could I have wrong? This is my first post to this topic. Please let me know what additional information I need to provide about this. Or if I've provided too much.
Thanks very much,
Jim GreethamOK. So I got my DBAs to create a new user with the necessary privs. Created a new queue, table, etc. I have been able to receive messages from it. So I have some looking to do in my production database queue definitions.
Jim -
JMS messaging not working with LCDS and Fiorano
Hi there,
Been struggling at this all day with no luck. I have a finished Flex application which uses JMS messaging, and it has worked just fine on my Tomcat server while using ActiveMQ. As soon as I switched to using the JMS provider Fiorano however, my application can no longer use JMS resources. It fails whenever the application tries to subscribe or publish to a JMS topic. I made all the appropriate JMS related changes to messaging-config.xml.
In the tomcat log, I turned on LCDS debugging and saw this error whenever a publisher or subscriber was trying to start:
"JMS invocation caught exception: SECURITY_EXCEPTION :: Security exception occurred while trying to perform operation :: CreateSubscriber failed,creation of Non-durable Subscriber NOT allowed."
I am passing my JMS security credentials via messaging-config.xml AND even tried doing it via the Flex application (setRemoteCredentials(..)). I know they are correct because I have a working Java application with the exact same credentials and other JMS settings working just fine. It seems only the Flex application fails using the same JMS credentials/settings.
Is there some other file that needs modification other than messaging-config.xml to get a new JMS provider to work? Any idea what may be going on?
Thanks!A large number of messages, or messages large in size, basically total size of all messages can hang things up. Back up your messages with a GPStore app. Erase them. Lower your message character size. IF it still continues, its the recipients phone. Both of you should power down, remove SIM, reinsert, power up.
-
Unable to create a JMS Message bridge between Weblogic 12c and Weblogic 8.1
Hi,
I am unable to successfully create a Message Bridge between Weblogic 12.1.1.0 and Weblogic 8.1. The error message being received is:
eis/jms/WLSConnectionFactoryJNDINoTX > ResourceAllocationException generated by resource adapter on call to ManagedConnectionFactory.createManagedConnection(): "javax.resource.ResourceException: ConnectionFactory: failed to get initial context (InitialContextFactory =weblogic.jndi.WLInitialContextFactory, url = t3://localhost:8001, user name = System) ">
The error on the monitoring tab is WARN: failed to connect to target.
Both domains are deployed on one box for testing purposes. The bridge itself is deployed on Weblogic 12c. The areas of config that may be of interest are:
<server>
<name>AdminServer</name>
<listen-address></listen-address>
</server>
<messaging-bridge>
<name>Bridge</name>
<target>AdminServer</target>
<source-destination>JMSBridgeSource12c</source-destination>
<target-destination>JMSBridgeTarget81</target-destination>
<selector>Test</selector>
<quality-of-service>Exactly-once</quality-of-service>
<qos-degradation-allowed>false</qos-degradation-allowed>
<durability-enabled>true</durability-enabled>
<idle-time-maximum>60</idle-time-maximum>
<async-enabled>true</async-enabled>
<started>true</started>
<preserve-msg-property>false</preserve-msg-property>
</messaging-bridge>
<app-deployment>
<name>jms-xa-adp</name>
<target>AdminServer</target>
<module-type>rar</module-type>
<source-path>D:\ORACLE~3\WLSERV~1.1\server\lib\jms-xa-adp.rar</source-path>
<security-dd-model>DDOnly</security-dd-model>
</app-deployment>
<jms-bridge-destination>
<name>JMSBridgeSource12c</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<user-name>System</user-name>
<user-password-encrypted>{AES}nfFzhs+0J/O2Cenf0g4zDsDyvIKENMF7cZ5sAVUehX0=</user-password-encrypted>
<classpath></classpath>
<connection-factory-jndi-name>JMSConnectionFactory12c</connection-factory-jndi-name>
<connection-url>t3://localhost:7001</connection-url>
<destination-jndi-name>JMSQueue12c</destination-jndi-name>
</jms-bridge-destination>
<jms-bridge-destination>
<name>JMSBridgeTarget81</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<user-name>System</user-name>
<user-password-encrypted>{AES}eBkO46cHvtrzEraOMIOdXow6WvEAtA4NCUDTQ4mC+9w=</user-password-encrypted>
<classpath></classpath>
<connection-factory-jndi-name>JMSConnectionFactory81</connection-factory-jndi-name>
<connection-url>t3://localhost:8001</connection-url>
<destination-jndi-name>JMSQueue81</destination-jndi-name>
</jms-bridge-destination>
I have enforced global trust between the two domains. I have disabled the guest user on the 8.1 domain but can’t see where to do this on 12c.
Any suggestions would be much appreciated.
Regards
John
Edited by: 958336 on 13-Sep-2012 03:11Thanks for the recommendation. Unfortunately it did not help solve the problem.
I have managed to get a JMS bridge working between 12c and 8.1 by including the 8.1 weblogic.jar on the classpath. This setup was using eis.jms.WLSConnectionFactoryJNDINoTX.
After trying to use the adapter that supports transactions, WLSConnectionFactoryJNDIXA I received the following error:
java.lang.IllegalStateException: can only be called from server
Is this because the Weblogic 12c server now views the 8.1 server as being foreign? -
Advanced Queuing and Messaging
Hi,
We have a requirement to use Queuing and Messaging. For that, I had installed Oracle 8i Enterprise edition. In that we have APIs for AQ. But cant we have some user interface from where we can directly do this instead of playing with APIs directly.
Do we have install something else for that.
Your inputs will be highly appreciable.
Regards,
Akhilben,
i don't think AQ will slove this problem it may increase the overhead on the system. i would suggest to use Dblink concept where u can go and check between the system & perform the action. or ur option #2 where u suggest to make local tables or runtime views of different system in to each other.
Mandar -
Advance Queue - Define schema for Events Data
Hi All,
we want to implement oracle Advanced Queue within BPEL processes. and i want to create a Publish Event document.
now I want to define schema for events data. can anybody point me to such schema ?
Thanks,
ppHello,
We are using Jdeveloper 10.1.3 / oracle 10g / Oracle Fusion Middleware (BPEL) 10g and want to create a sample POC using BPEL process, any kind of Publish Event sample schema, Publish Event sample XML, Advance Queue adapter in jdev and be able to publish (enqueue) messages on sample AQ and be able to consume those messages (dequeue) by subcriber.
as you see, this is just a sample POC .... nothing concrete as yet.
I searched "Oracle By Example" for such sample code or zip that i can download. but did not find one.
Can you point me to such sample code, i can open in jdeveloper and test ?
thanks
pp -
Sample for Reference and Conformance business event in Quality Manager
Hi All
Can any one please tell me the business event that is to be enabled and the related transaction type to be configured/set for getting a notification when a sample has been taken using SFC / SFR Activity window in Quality Manager responsibility.
Navigation:
Go to Quality Manager
Go to SFC/SFR Activity
Thanks in Advance
Prem.Hi David
Thanks for your reply.
Click on SFC/SFR Activity Form. It is a Create Immediate Form,in Quality Manager responsibility with name SFC/SFR Activity window. I have enabled and subscribed the event you mentioned before and created approval group in AME.
My requirement is when quality department uses this form they should get a notification as SFC/SFR Sample required.
As of now I am getting notifications as 'Sample Required For (CREI) Inventory Transaction: Item XXX', when other department eg., Stores Dept uses CREI form .
Now I want to Change the Description of the Notifcation to 'Sample Required for SFC/SFR' and to generate a sample notification only when QC has used this form (CREI).
Thanks in advance
Prem. -
Inheritance between a Business Event Type and a Business Event
Hello,
When we created a Business Event (Object E), this one have some inheritance from the business envent type (Object D).
I don't find where I can customize this. Do you have an idea ?
I have created a custom PD infotype (available for object D and E), will it be possible to have inheritance of this infotype too when I will create my business event ?
Thanks for your feedback,
JFHi,
You can copy the Business Event and make changes only to the fields which needed to be changed.
Regards
Chandrashekar -
How to send JMS Message with use title, content, and attach file
I use OpenJMS server such as Message server
and use Tomcat 4.0 as web server.
I want to use JMS to send Message that message have
title, content, and can attach file.You probably wanna use SOAP. SOAP is based on XML, it has a soapheader (can have the title) the soapbody (has your actual message) and it can also have files attached.
read more here
http://www.w3.org/TR/SOAP/
The only thing you have to be carefull with is that when you want to put a SOAPMessage on a JMS queue, you have to serialize it
kind regards -
Dequeue jms messages using JMS adapter
Hi,
I have created jms server, modules, queue from console-messaging-jms modules.
I am trying to create a soa composite to consume message from this queue.
In JMS adapter wizard - step 7 - i have selected the destination queue. In this step, what should be the jndi name?
do i need to update weblogic-ra.xml file?
Can someone please point me to the steps/doc to create jms adapter to consume message from Oracle Weblogic JMS? (basically configure deployment descriptor)
Thanks
GaneshBy passing username/password in the outbound connection pool, i was able to connect to the secured weblogic jms..
This was my config for eis/wls/Queue connection pool..
AcknowledgeMode java.lang.String AUTO_ACKNOWLEDGE
ConnectionFactoryLocation java.lang.String weblogic.jms.XAConnectionFactory
FactoryProperties java.lang.String
IsTopic java.lang.Boolean false
IsTransacted java.lang.Boolean false
Password java.lang.String weblogic123
Username java.lang.String weblogic
After making the change ( remember to hit enter after modifying password and username fields, else change wont persist) , i saved it with a new deployment plan and updated the deployment with the new plan. Then redeployed the composite containing the jms adapter and I am able to see a consumer created for the queue. -
Advanced Queue and DataDirect JDBC
Folks,
Does anyone have any experience using DataDirect's jdbc with AQ?
Thanks,
Don.Sure. See my response in this similar posting.
you can use a RAW-payload queue, or an queue that stores messages using an Oracle object type with a CLOB attribute to hold the XML payload, depending on the size of your messages and whether you'd like additional message metadata attributes to travel with the message outside of its XML content.
Maybe you are looking for
-
Hey guys, I have a Cisco ASA 5505 8.4 I have a Remote Access VPN up and working...for the most part. When I VPN in I would like to be able to access our Mitel phone manager which is just a internal IP you put in the browser. Here is the issue when I
-
Being the only real editing capability, I've been using Google docs alot. I'm having several usability issues: Text selection issues: similar to my Evernote problem, selecting text doesn't work very well at all. Double-tap doesn't work and press and
-
Where do I get a free download of Safari 5.0 to updatemy 4.0.4?
I need to upgrade Safari to utilize my new Rosetta Stone Course's online features. I would prefer a free Apple download. Can't seem to locate one. Thanks much!
-
Event ID 2776 The worker process failed to initialise correctly and therefore could not be started
Hi All, I'm getting the dreaded 503 Service Unavailable error on a freshly installed instance of SharePoint 2013 Foundation on a 2008 Server. I get this error when I try opening the Central Administration Console. It would appear that the worker proc
-
I'm trying to airplay youtube from my iPhone 5 but I'm getting the error message. I can airplay music, pictures, and other video, but no streaming. My brother is using my appletv and wi-fi with his iphone 4s with no problems. Any suggestions?