JMS grant queue privileges problem
I have two test users set up in different schemas. They each have their own identical queue tables and queues in their own schemas.
One of the users cannot seem to grant queue privileges to the main schema owner. The error is as follows:
Eception: oracle.jms.AQjmsException: JMS-122: Internal error payload object type must be specified
at oracle.jms.AQjmsDestinatio.grantQueuePrivilege(AQjmsDestination.java:406)
at src.AQSetup.jmsInitializeQueue(AQSetup.java:246)
the offending code is as follows:
cq_conn = AQjmsQueueConnectionFactory.createQueueConnection(p_conn);
// create queue session
commQSession = cq_conn.createQueueSession(true, Session.AUTO_ACKNOWLEDGE);
// AUTO_ACKNOWLEDGE
try
cQTable = ((AQjmsSession)commQSession).getQueueTable(userID, QueueTableName);
catch (AQjmsException e)
cQTable = createJMSQueueTable(commQSession, userID, QueueTableName);
try
cQueue = ((AQjmsSession)commQSession).getQueue(userID, QueueName);
catch (AQjmsException e)
cQueue = createJMSQueue(commQSession, cQTable, QueueName);
((AQjmsDestination)cQueue).grantQueuePrivilege(commQSession, "ENQUEUE", "icowner",false);
with the error coming from the last line and the referenced table and queue definition code as folows:
private AQQueueTable createJMSQueueTable(QueueSession q_sess, String userID, String q_tableName) {
try {
AQQueueTableProperty qtable_prop = null;
AQQueueTable cq_table = null;
// Create an AQQueueTableProperty object (payload type - BYTES):
qtable_prop = new AQQueueTableProperty("SYS.AQ$_JMS_TEXT_MESSAGE");
// Create a queue table called command_table in user schema:
cq_table = ((AQjmsSession)q_sess).createQueueTable(userID, q_tableName, qtable_prop);
return cq_table;
} catch (Exception ex) {
return null;
private Queue createJMSQueue(QueueSession q_sess, AQQueueTable q_table, String q_name) {
try {
AQjmsDestinationProperty dest_prop = null;
Queue lq_queue = null;
dest_prop = new AQjmsDestinationProperty();
// create a queue
lq_queue = ((AQjmsSession)q_sess).createQueue(q_table, q_name, dest_prop);
return lq_queue;
} catch (Exception ex) {
return null;
both users seem to have the same privileges.
Can you tell me if it is an error in my code and what that is?
- Ken
null
Might be a bug.
Do you get the error when
createQueue is followed by grantQueuePrivilege OT
getQueue is followed by grantQueuePrivilege.
null
Similar Messages
-
Get data from a JMS XML queue and save it in a file
Hi,
Here I come with my issue again.
I'm trying to test a JMS XML implementation with ODI 10.1.3.4.0 and my target is a single delimited file.
I made simple things, my XML contains the following code :
+<?xml version="1.0" encoding="UTF-8"?>+
+<test><id>456</id><value>789</value></test>+
In the target file, I specified that I wanted a header line, the id and the value, separated by a tab.
I send only one message, before executing the ODI interface or package. The queue is persistant. There's no problem from the queue, I manage to read JMS messages with a little program I made.
The result is also simple : there's no data in the file (not even the header), though it's well created by ODI, and there's no error in the opertor, it's as everything went well.
Here is the settings I did in ODI :
Topology : JMS XML Queue config
Name : JMSXML_TEST
Technology : JMS XML Queue
I've a user and password set.
JNDI Auth : simple
The user and password are the same as above.
JNDI protocole : not defined
JNDI Driver : org.jnp.interfaces.NamingContextFactory
JNDI URL : jnp://localhost:1099/?re=test&d=<DTD_FILE>&s=JMSXML_TEST_SCH&JMS_DESTINATION=queue/TestQueue1
The connection test is OK.
Model
The JMS XML model is reversed from the DTD.
There is only one datastore named TEST with an ID and VALUE columns, and other columns usefull to ODI.
The target is a file represented by a datastore also named TEST with ID and VALUE columns.
Project
I created an interface with the following configurations :
- The staging area is the sunopsis engine,
- The source datastore and target datastore are the two described above,
- The LKM is JMS XML to SQL, the IKM is SQL to File Append
- The JMS_COMMIT option is set to yes
- The SYNCHRO_JMS_TO_XML is set to yes
- I added manually a NEXTMESSAGETIMEOUT in the options list because it was missing
- The IKM settings are all set to yes (INSERT, TRUNCATE, GENERATE_HEADER).
I also created a package containing this interface.
Everything is done in the global context.
Everything is installed locally on my computer : the program sending the messages, the JMS provider and ODI.
The problem is I don't know where the problem is and neither ODI.
In the operator, there is 0 insert and the error code is 0.
Thanks in advance for any insights.
Marie
Edited by: Marie123456 on 21 août 2012 10:36Hi,
Since I still have problems on this subject, I would like to share on how it progresses.
Currently I have a problem of timeout in step "Truncate XML Schema" with the URL that I mentioned above.
The exact error is the following : 7000 : null : com.sunopsis.sql.l: Oracle Data Integrator TimeOut : connection with URL [...]
The connection test is still OK.
I tried to increase the value in the user's pref but there's no change. -
Problems with Oracle JMS Advanced Queuing
Hello,
We have build an application using Advanced Queuing (database version 10.2.0.1.0). Everything works fine using PL/SQL. But when we try to send in messages through the Oracle JMS interface messages with less then 4000 bytes are stored in the queu table but the content of the message is not stored in one of the user data attributes.
Messages larger then 4000 bytes result in the following error:
oracle.jms.AQjmsException: JMS-204: Er is een fout opgetreden in de AQ JNI-laag.
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:311)
at oracle.jms.AQjmsProducer.enqueue(AQjmsProducer.java:1323)
at oracle.jms.AQjmsProducer.send(AQjmsProducer.java:692)
at oracle.jms.AQjmsProducer.send(AQjmsProducer.java:465)
at nl.detailresult.aqadapter.test.OracleQueueSendTextMsgTest.testOracleQueuePlus4000(OracleQueueSendTextMsgTest.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
[Linked-exception]
oracle.jms.AQjmsException: ORA-00942: table or view does not exist
As far as I can see we have done everything according to the books but does anyone have a clue what we might have missed?Hi,
Have you found a solution to this? I am running into similar issue with SOA Suite using OJMS queues.
Regards,
Rajesh -
Grant any privilege, privilege
About 4 weeks ago i got some much appreciated assistance in setting up my environment so that a user could grant object privileges on objects in another user's schema. This solution required a function to be built in the schema which owned objects.
I just found the 'GRANT ANY PRIVILEGE' privilege. Anyone know when this came about (we're using 10g) and if there's any problem to granting this?
We have the init param 07_DICTIONARY_ACCESSIBILITY set to False. Will we be able to keep people of the SYS schema?
-cfLet me specify, I was referring to the GRANT ANY OBJECT PRIVILEGE above, although I do see the GRANT ANY PRIVILEGE out there as well.
-cf -
I am running version 3.0.6.6.5 on Solaris 2.6 and using Netscape Navigator 4.51.
On the Grant Object Privileges Page for a database object, the "Add to List" button is in an odd spot (crosses over a border) and does not work unless you click it on the left 1/3 of the button. This is not a problem when using IE 5.
Is this a known bug?
Fran Bailey
EDS - Meredith Accounti logged in as User1 and wrote:
desc dbms_lock
and nothing happened, then i disconnected and connected to db1 as User1 and retry and it was all the same (didn't assign the privilege). then i shut down sql plus and started it again as sys and when ran EXECUTE ON DBMS_LOCK the message is shown:
SP2-0103: Nothing in SQL buffer to run
then i logged in as User1 and repeat the EXECUTE ON DBMS_LOCK command, the same error message is thrown. same happened when tried with desc dbms_lock.
am i doing something wrong or what? -
Travel Schema:grant all privileges
I have a request to add the travel schema to one of our 9202 databases. Fairly straight forward. I got the *.dmp file from your site:
http://www.oracle.com/technology/sample_code/tech/java/travel/travelschema.htm#system
I created the user travel and used the system tablespace as the default. As for privileges, I noticed that I should "grant all privileges" to travel. Is this wise? What's the minimum amount of privileges that I can grant to travel?Is this wise? You are quite right to be concerned. Granting ALL PRIVILEGES is a dodgy thing to do. In mitigation I might say that the TRAVEL schema is a sample piece of code and so should only be installed on a development database, where the damage can be limited.
But I think the real problem is that the sample code was developed by Java programmers who couldn't be bothered to work out exactly what privileges were needed. Shocking, yes, but hardly uncommon. And the poltroons have also included instructions on how to
To Download and install the travel schema into the SYSTEM tablespace:
No no no! No application objects go into the SYSTEM schema. What's the point of us non-Oracle people banging on about best practice if their own employees are allowed to post stuff like this on OTN? Sack these bozos!
What's the minimum amount of privileges that I can grant to travel? I have absolutely no idea. I think the safest thing is to build a new database instance, so that the potential for damage is limited. Alternatively, grant CONNECT and RESOURCE and see how far that goes. You may have to grant additional powers. I see they also grant JAVASYSPRIV and JAVAUSEPRIV. Horrible, simply horrible.
Cheerse, APC -
Grant Administrator privileges to users
Post Author: mwong
CA Forum: crystalreports.com
Problem Description:
I need to grant Administrator privileges to one of my users. How do I do that? He needs to upload the reports and invite the users to view them.Post Author: mwong
CA Forum: crystalreports.com
HiAs of Dec 16, 2007, administrator can now grant administrator privileges to other users.We have added a new Administrators group in the users tab. There are 3 scenarios for adding users to the Administrators group:Scenario 1: New user - If the user does not currently exist within
your crystalreports.com account, you can add the new Administrator by clicking
the Administrator user group on the Users tab
and then clicking Add User.
Scenario 2: Existing user added before December 15, 2007 - If the
user is already in your crystalreports.com account and was added before December
15, 2007, send an email to crystalreports.com Support at [email protected]
with the user's email address. Support will notify you when the user is ready to
be upgraded to Administrator status. Once you receive approval, you can then add
the user to the Administrator user group on the
Users tab.
Scenario 3: Existing user added after December 15, 2007 - If the
user is already in your crystalreports.com account and was added after December
15, 2007, as a Member, you can add the new Administrator by
clicking on the Administrator user group on the
Users tab and then clicking Add User. If the
user was added after Dec. 15, 2007 as a Guest, you must follow
the instruction in Scenario 2. After completing either of the three scenario
above, the new Administrator user will now have full rights to add users, upload
or publish reports, and manage your crystalreports.com account. thanks!Michelle Certain criteria must be met for an account to become an Administrator.See ALSO: http://technicalsupport.businessobjects.com/cs/forums/thread/14541.aspx -
JMS Sender Communication Channel problem
Hi XI gurus!!
I have a JMS Sender Communication Channel that cannot get information from JMS TIBCO queue.
In defaultTrace.XX.trc I see the following information and errors:
#1.#00144F249F1500C70000087D00002D8300044A22A193A198#1207412506993#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildConnection()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000087E00002D8300044A22A193A201#1207412506993#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1500C70000087F00002D8300044A22A193A552#1207412506993#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Error##Plain###2008-04-05 17:21:46 [161906789 SAPEngine_Application_Thread[impl:3]_52] [TIBCO EMS]: createQueueSession qsess=198151 qconn=45502 tran=true ackmode=1#
#1.#00144F249F1500C70000088000002D8300044A22A193A670#1207412506994#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Info##Java###Sucessfully created session {0} for profile {1}#2#com.tibco.tibjms.TibjmsQueueSession@3a5f233#
{GenericConnectionProfileImpl
{Description=ConnectionProfile of channel: JMS_Sender_loginCheckReq_001on node: 21291150 having object id: 7e7ee107bc2031d2bc79fa2fce15bbed,
JmsMessageSelector=,
ConnectionFactoryConstructor=null,
ConnectionFactoryFactoryInvocation=null,
ConnectionFactoryInvocations=[],
DestinationConstructor=
{ConstructorInvocation
{className=null,
invokeParams=[]
DestinationInvocations=[],
MessageInvocations=[],
DestinationName=null,
User=,
Password=,
isJmsSessionTransacted=true,
InitialContextEnvironment={java.naming.provider.url=190.10.0.133:9222, java.naming.factory.initial=com.tibco.tibjms.naming.TibjmsInitialContextFactory},
LookupConnectionFactory=QueueConnectionFactory,
LookupDestination=GALP.PRD.TIGERC.LOGIN.REQ,
SerializedConnectionFactoryPath=null,
SerializedDestinationPath=null,
Flags=0000000000000000000000000000000000000000000000000000100000000010
#1.#00144F249F1500C70000088100002D8300044A22A193A7EE#1207412506994#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildSessions()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000088200002D8300044A22A193A85F#1207412506994#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1500C70000088300002D8300044A22A193B153#1207412506997#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Error##Plain###2008-04-05 17:21:46 [161906789 SAPEngine_Application_Thread[impl:3]_52] [TIBCO EMS]: createQueueConnection qconn=45503 qconfac=QueueConnectionFactory[url=tcp://190.10.0.133:9222;clientID=null;Properties={}] user=null#
#1.#00144F249F1500C70000088400002D8300044A22A193E3CF#1207412507009#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.JndiConnectorImpl.createDestination()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000088500002D8300044A22A193E571#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeDestinationInvocations#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1500C70000088600002D8300044A22A193E64B#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.executeDestinationInvocations#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Exiting method#
#1.#00144F249F1500C70000088700002D8300044A22A193E714#1207412507010#com.sap.aii.adapter.jms.core.connector.ConnectorImpl#sap.com/com.sap.xi.mdt#com.sap.aii.adapter.jms.core.connector.ConnectorImpl.buildMessageProducers()#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#SAPEngine_Application_Thread[impl:3]_52##0#0#Path##Plain###Entering method#
#1.#00144F249F1508770000000000002D8300044A22A83A6308#1207412618584#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#Thread[TIBCO EMS TCPLink Reader (45502),5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Error##Plain###2008-04-05 17:23:38 [2092826462 TIBCO EMS TCPLink Reader (45502)] [TIBCO EMS]: received msg from daemon conn=45502 seqid=40664365 msgid=ID:EMS-SERVER.91446ECB042B480:12545#
#1.#00144F249F1508770000000100002D8300044A22A83A650C#1207412618585#System.err#sap.com/com.sap.xi.mdt#System.err#EFFIGUEIREDO#7191##sappix02_X02_21291150#XIAPPLUSER#81664000032811ddaadc00144f249f15#Thread[TIBCO EMS TCPLink Reader (45502),5,SAPEngine_Application_Thread[impl:3]_Group]##0#0#Error##Plain###2008-04-05 17:23:38 [2092826462 TIBCO EMS TCPLink Reader (45502)] [TIBCO EMS]: post msg to session sess=198151 cons=261547 seqid=40664365 msgid=ID:EMS-SERVER.91446ECB042B480:12545#
In the last two lines we can see that SAP XI do a connection to TIBCO and is getting an unknown error, even in debug (note 856346) I cannot get any information.
Actually we are running SAP XI 3.0 SP21, but this was working fine in SAP XI 3.0 SP17. We have more than 100 Communication Channels working fine and only is having this strange behavior.
BTW if we put manually information in TIBCO QUEUE it works fine, but automatically doesn't pick the message.
ThanksHI,
As per the trace details given please consider few of the below options....
What do u see in adapter monitoring tool for JMS adapter?
http://hostname:5XX00/mdt/amtServlet
Did you follow the document on correlation of JMS messages?
In communication channel You have to set
Correlation ID -> XI conversationID
XI message ID->GUID
XI Conversation ID -> JMS correlation ID.
Now in the custom J2EE application you should set
jmscorrelationid of message before sending in to queue to jms correlation id of message before receiving from the queue.
This thread deals with the issue..
JMS Queue monitoring
Check if the JMS Sender adapter EOIO is with serialized messages
Thanks
Swarup -
Grant select privilege to specific columns on a table to user in Oracle 9i
Can anyone tell me how to grant select privilege to a user for specific columns in a table?
I have tried the following statement
GRANT SELECT (EMP_ID) ON EMP TO USER1
But it's not working and I am getting this error "Missing ON Keyword".
Please anyone tell me how to grant select privilege for specific columns.
Edited by: 899045 on Nov 24, 2011 7:03 AM899045 wrote:
Can anyone tell me how to grant select privilege to a user for specific columns in a table?
I have tried the following statement
GRANT SELECT (EMP_ID) ON EMP TO USER1
But it's not working and I am getting this error "Missing ON Keyword".
Please anyone tell me how to grant select privilege for specific columns.
Edited by: 899045 on Nov 24, 2011 7:03 AMFrom the 9.2 SQL Reference manual, found at tahiti.oracle.com (http://docs.oracle.com/cd/B10501_01/server.920/a96540/statements_912a.htm#2062456)
*"You can specify columns only when granting the INSERT, REFERENCES, or UPDATE privilege. "* -
Privilege problem in MUD, please help
hi all
When I was setting up MUD as SH.rpd following http://www.oracle.com/technology/obe/obe_bi/bi_ee_1013/mude/mude.htm, i found a privilege problem.
After I merged Karen.rpd into local shared_sh.rpd, the shared_sh.rpd window opened, if now I perform "Publish to Network", it works well
but if I go on modifying this shared_sh.rpd, then perform "Publish to Network", it works well too... I just call the modify in this step "Modify A".
In my understand, the shared_sh.rpd must be read-only after merging, and what we can do only is checkinig global consistency or publish to network
Is it a bug of BIEE? if not, please tell me the reason.
Thanks.MUD is really half baked tool regarding security. If you do it, it will allow you to modify it. The tool does not warn you. So, its your responsibility to make sure that once you check in, you also publish it to network. Each cycle has to be always complete. CheckOut --> Merge --> CheckIn -->Publish to Network.
If not, you are left with orphan rpds flying around in your local development rpd folder.
Hope this helps. -
Flex with JMS Topic/Queue for Asynchronous messaging
I have been working on Flex and JMS integration using Data
Services for Asynchronous messaging. I am able to do this
successfuly. Now I am in need to do the same without using the Data
Services piece.
For doing this I have done the following ......
I have created a JMS Webservice in the Oracle JDeveloper 10G
along with Webservice Client.I am able to Listen to JMS Topic/Queue
( this has been created in the Oracle AS ) using this Webservice
and receive the messages from this JMS Topic/Queue
Asynchronously.....
But If I need to use the Flex Client , I am not able to
Communicate with this Webservice to listen to the JMS Topic/Queue.
Did any one in this forum tried to communicate with JMS
Topic/Queue without using Flex Data Service.If so please share your
inputs.Here is my confusion (I'm using J2EESDK1.3).
On a local server I did the following
j2eeadmin -addJmsFactory jms/RemoteTCF topic -props url=corbaname:iiop:mars#mars
In the app client running on the local server I had the code
ic = new InitialContext();
// JNDI lookup. The resource factory ref points to the
// Remote Connection Factory I registered
tcf = (TopicConnectionFactory)ic.lookup("java:comp/env/jms/TopicConnectionFactory");
// The env ref points to jms/Topic of the local server
pTopic = (Topic)ic.lookup("java:comp/env/jms/PTopic");
So I'm assuming that I'm using a connection factory that connect to mars and a Topic on the local box.
On remote server mars, I deployed a MDB which use
jms/TopicConnectionFactory and jms/Topic. But I'm thinking this jms/Topic and the one I used on the local box are not the same one. Right? Then how could the app client and the MDB share messages?
Some of my explanation I don't if it makes sense or not.
ConnectionFactory is a way to tell what kind of connection it could generate (Queue, Topic, Durable etc) and Where the connection would go to (local or remote).'
As for as destination, I'm not sure. How could two server share one Topic? -
JMS Queue Vs JMS replyTo Queue name for Receiver JMS channel.
HI,
I am working with receiver JMS adapter and using the protocol WbeSphereMQ JMS provider.
Here I could not able to figure out the difference between the following parameter.
Target tab JMS Queue and Processing tab-JMS replyTo Queue name.
I tries the find the same in help.sdn.com but here also not able to find correct information .
for Processing tab -JMS replyTo Queue name Parameter it is written that "Specify the name of the queue to which the responses are to be sent."
But what is the use of Target tab JMS Queue Parameter. No information is given against this parameter.
http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
regards,
Navneet.the initial JMS Queue is the queue you will connect too.
i guess SAP felt an explanation to that was not required....
SAP does not even bother to explain it here in the specific link to JMS-Provider-Specific Settings (for Webshpere although it does for SonicMQ!).
http://help.sap.com/saphelp_nw04/helpdata/en/c1/739c4186c2a409e10000000a155106/frameset.htm
I do not use the "ReplyTo" in my current scenarios. -
JMS ReplyTo Queue Name parameter in the receiver JMS communication channel
Hi All,
Can any please explain the use of JMS ReplyTo Queue Name parameter in the receiver JMS communication channel?
Thanks
Karthik.Hi karthik,
JMS ReplyTo Queue Name parameter is used for Specify the name of the queue to which the responses are to be sent.
Thanks
Govind. -
I need to create a JMS dynamic queue and wait to listen in that queue for say 5 secs. Can anyone explain how this works. i.e I want to know what will happen after 5 secs. Will I receive a JMS Message object which is null or it will throw some exception. How do I know that it has timed out.I need to implement some logic based on the fact that the message has timed out.
Why can't use a timer whereby onTimeOut simply compare the present time and the time the listener starts listening to the dynamic queue. If this is above 5seconds then do what soever you intend doing
Ivo -
Oracle Advanced Queuing - Propagation problem - 11g
Hi,
I have a problem when propagation messages between queues. When the message is propagated, it stays on the source queue with READY state.
I have created two queues on 11g with a propagation rule that any message from queue A are sent to queue B. My problem is that the message from the source queue stays in the source queue even after propagation, which isn't what I was expecting. The problem doesn't occur if the queues are on a different database. This problem only happens if the queues are on the same database.
the script I use is this:
For USERB (which has the destination queue)
create type EVENT_MESSAGE as object (
eventsource VARCHAR2(30),
eventname VARCHAR2(255),
eventid NUMBER(19,0),
message CLOB
DECLARE
an_agent sys.aq$_agent;
BEGIN
-- create the publish/subscribe queue table
dbms_aqadm.create_queue_table(
queue_table => 'DESTINATION_QUEUE_TABLE',
queue_payload_type=>'EVENT_MESSAGE',
sort_list => 'ENQ_TIME',
message_grouping => DBMS_AQADM.NONE,
multiple_consumers=>true
-- create the queue
dbms_aqadm.create_queue(
queue_name => 'DESTINATION',
queue_table => 'DESTINATION_QUEUE_TABLE',
queue_type => DBMS_AQADM.NORMAL_QUEUE,
max_retries => 5
dbms_aqadm.create_aq_agent(agent_name =>'DEQUEUE_AGENT');
an_agent := sys.aq$_agent('DEQUEUE_AGENT', null, null);
dbms_aqadm.enable_db_access(
agent_name => 'DEQUEUE_AGENT',
db_username => 'USERB'
dbms_aqadm.add_subscriber(
queue_name => 'DESTINATION',
subscriber => an_agent,
queue_to_queue => FALSE,
delivery_mode => DBMS_AQADM.PERSISTENT
-- start the queues
dbms_aqadm.start_queue('DESTINATION');
END;
For USERA
create type EVENT_MESSAGE as object (
eventsource VARCHAR2(30),
eventname VARCHAR2(255),
eventid NUMBER(19,0),
message CLOB
BEGIN
-- create the publish/subscribe queue table
dbms_aqadm.create_queue_table(
queue_table => 'SOURCE_QUEUE_TABLE',
queue_payload_type=>'EVENT_MESSAGE',
sort_list => 'ENQ_TIME',
message_grouping => DBMS_AQADM.NONE,
multiple_consumers=>true
-- create the queue
dbms_aqadm.create_queue(
queue_name => 'SOURCE',
queue_table => 'SOURCE_QUEUE_TABLE',
queue_type => DBMS_AQADM.NORMAL_QUEUE,
max_retries => 5
-- start the queues
dbms_aqadm.start_queue('SOURCE');
-- create the propagation
dbms_aqadm.add_subscriber(queue_name => 'SOURCE',
subscriber => sys.aq$_agent('DEQUEUE_AGENT','USERB.DESTINATION',null),
queue_to_queue => true);
dbms_aqadm.schedule_propagation(queue_name => 'SOURCE',
start_time => sysdate,
latency => 25,
destination_queue => 'USERB.DESTINATION');
END;
When I enqueue a message to the source on USERA with this:
declare
rc binary_integer;
nq_opt dbms_aq.enqueue_options_t;
nq_pro dbms_aq.message_properties_t;
datas EVENT_MESSAGE;
msgid raw(16);
begin
nq_pro.expiration := dbms_aq.never;
nq_pro.sender_id := sys.aq$_agent('ENQUEUE_AGENT', null, null);
datas := AGEAS_EVENT_MESSAGE('message','eventname',1,null);
dbms_aq.enqueue('SOURCE',nq_opt,nq_pro,datas,msgid);
end;
The message is propagated to the destination queue, no problem, but the message state on the source queue is kept as ready. I would have expected it to be marked as processed and disappear from the queue table.
When I look at the AQ$_SOURCE_QUEUE_TABLE_S the I see these records:
QUEUE_NAME NAME ADDRESS PROTOCOL SUBSCRIBER TYPE
SOURCE (null) "USERB"."DESTINATION"@AQ$_LOCAL 0 1736
SOURCE DEQUEUE_AGENT "USERB"."DESTINATION" 0 577
Can anyone help?I was talking about following oracle documentations:
Oracle Database 11g: Advanced Queuing (Technical Whitepaper)
Streams Advanced Queuing: Best Practices (Technical Whitepaper)
Oracle Streams Advanced Queuing and Real Application Clusters: Scalability and Performance Guidelines (Technical Whitepaper)
They are available at.. http://www.oracle.com/technetwork/database/features/data-integration/default-159085.html
Maybe you are looking for
-
Cross Reference paragraphs from Word to imbedded Visio document
I have a word document with about 200 steps included which are cross referenced throughout Word. I have a Visio flowchart that serves as a visual picture of these steps, but requires manual input and adjustment when we adjust the steps in Word. I d
-
Possible to view graphics in ABAP documentation without printing?
I have uploaded a bitmap to the document server and included it in the documentation of my component (an interface, in this case), for which the ABAP workbench generates the statement BITMAP 'BO_VSAB' OBJECT GRAPHICS ID BMAP TYPE BCOL DPI 300 The pic
-
App says "downloaded" but I don't have it
somehow I accidentally deleted a free app that I had on my iPod (NY Times) and I can't "purchase" it now from the app store; where all the other apps either say FREE or have a price, it now says DOWNLOADED, and nothing happens when I click on it. I
-
Reentrant / invariant VIs how to use...
Hello, I have a problem to run a vi reentrant (invariant). I set the vi properties to reentrant and tried out two ways to start the vi. The vi is intended to open a new little window showing a device name and retrieving a measurement value for that d
-
Decommission Exchange Server 2013 after migration to Office365
We had an on-premises Exchange Server 2013 failure with multiple hard disk failures. Since we already had an Office365 E3 plan, we decided to bite the bullet and move to Exchange Online. Since we did not have ADFS or Dirsync yet and time was against