MDB Topic works, Queue doesnt 9.0.3
Hi Gurus,
As I wrote in subject, the topics work fine, but queues dont. MDB cannot reach the message. It looks like it dosn't know about queue. My OC4J realese 9.0.3. Did anybody encaunter similar issue ?
Do you see any errors in server log when MDB was deployed or when message was enqueued?
Similar Messages
-
Load balancing and clustered MDBs using a Queue
With the following advice/information from
http://e-docs.bea.com/wls/docs61/faq/jms.html#252978,
"One customer had an example where topic MDBs are needed in which there will
be multiple implementations of the MDBs listening on the same topic. In
other words, more than one MDB with a different implementation may be
subscribing to the same topic. The client has no advanced way of knowing how
many different kinds of MDBs may be listening on the same topic, but it is
possible for there to be more than one listener, therefore topics, not
queues. For each kind of MDB listening on the topic, the message is
delivered exactly once (i.e., the message will be delivered exactly once to
an instance in each named MDB pool listening on the topic)."
If I have a set of MDB's scraping Messages from the JMS Queue, what is the
load-balancing behavior?
1) Consider a lightly-loaded system, where each MDB has sufficient time to
process the message before the next one shows up in the queue. Will the same
MDB get all the messages?
2) Consider a heavily-loaded system, where each MDB has insufficient time to
process the message before the next one shows up in the queue. How would you
characterize the de facto load-balancing behavior? least-loaded?
Have you tried the SAP WebDispatcher. This should acomplish what you want.
http://help.sap.com/saphelp_nw04/helpdata/en/42/5cfd3b0e59774ee10000000a114084/frameset.htm -
Can JMS topics and queues be clustered in a WLS 7.0 Cluster?
We are installing a weblogic 7.0 cluster with 1 admin server and 2 managed
node servers. Two nodes have been clustered. We are at the point where we
need to configure JMS. Has any one implemented JMS in WLS 7 clustered
environment? What are the things to watch out when clustering JMS? Can JMS
topics and queues be clustered?
TIA for any helpful hints and comments.
Regards
"Karim Ali" <[email protected]> wrote:
>> Has any one implemented JMS in WLS 7 clustered
>> environment?
I'm currently working on a project with WLS 7 here at work, involving
the implementation of BEA's JMS Cluster. So far, I really haven't had
many hiccups.
"Karim Ali" <[email protected]> wrote:
>> What are the things to watch out when clustering JMS?
At least in WLS 7, the biggest thing that stands out is the lack of
automatic failover. Also, Message Paging -- make sure you configure
paging high/low thresholds. Or, if you don't wish for it to occur but
can't stop the server (very common these days with SLAs), set that
byte/message high threshold to a very large number (correct me if I'm
wrong, but I believe BEA recommends 2^63 -1).
"Karim Ali" <[email protected]> wrote:
>> Can JMS topics and queues be clustered?
Well, since Topics and Queues are extensions of the
javax.jms.Destination interface, the answer is: Yes!
(SIDE NOTE: most people usually refer to them as a [JMS] "destination"
-- it avoids a lot of conceptual baggage and plus, less typing!)
You'll probably want to see this section of BEA's e-docs:
http://edocs.bea.com/wls/docs70/adminguide/jms.html#config_distributed_destinations
later,
Brian J. Mitchell
BEA Systems Administrator
TRX
Atlanta, GA
email: [email protected]
office: 404-327-7238
mobile: 678-283-6530
-
MDB topic listener and concurrent processing
Hello to everybody.
I ve prototyped simple db publisher ,which publishes changed data from database to JMS topic. Then I have my MDB which listens on JMS topic.
I setup and implemented all correctly and it worked. There was 1 consumer = 1 mdb instance. Then I tried to do load testing , So I triggered 8000 changes from database. The db adapter did the job and published the 8000 messages on the JMS topic in a while. To mimic processing in MDB I put the sleep(10seconds) in MDB.
MDB topic processing seems to me as not concurrent one. Why? I observed 10 message decrease with 5-10 seconds.
What I expected was: concurrent processing of 8000 JMS messages by 1 MDB (so MDB is poolable component isnt it?).
So for 500 instances of topic MDB and 8000 messages on the JMS topic, I expected at least 8000/500 X 10 = 160 seconds to process message load.
I am using WLS 816.
Can You give me some hits.
Thanks
RomanI did the same test on Weblogic 10 and it worked as expected. MDB durable subscriber consumed 8000 messages (each msg processing had 10 secs sleep inside.) within 2 minutes. So it is ok.
But why it did not worked on WLS 8.1? Is this a bug ? -
Distinguishing between topics and queues
Hi,
I have a generic piece of code that takes a javax.jms.Destination that does different
things depending if the destination is a queue or a topic.
The problem is that it seems that destinations in Weblogic implement both queue
and topic:
instanceof queue <new_JMSTopic_1>
queue name: <new_JMSTopic_1>
weblogic.jms.common.InvalidDestinationException: Destination must be a queue,
ne
w_JMSTopic_1
at weblogic.jms.common.Destination.checkDestinationType(Destination.java
:113)
at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1516)
at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1500)
at Test.run(Test.java:100)
at Test.main(Test.java:311)
Is there anyway for me to programatically distinguish between queues and topics
as there seems not to be any javadoc on weblogic.jms.common.Destination and instanceof
does not work? I would prefer not to rely on exceptions.
I'm using Weblogic 8.1 sp2.
Thanks
Riad
Cool. Thanks for your help Tom.
Riad
Tom Barnes <[email protected]> wrote:
>Hi Riad,
>
>This has come up before.
>
>For now, you may cast dest to weblogic.jms.common.DestinationImpl
>and call "isQueue()". Normally, only the javadoc'd methods
>in weblogic.jms.extensions are intended for public use,
>but for this case we make an exception.
>
>In the next release, this method will be exposed through
>a new public WL JMS API extension:
>weblogic.jms.extensions.WLDestination,
>and might not be available otherwise.
>
>Tom, BEA
>
>P.S. A java tip: The JDK's built-in "javap"
>is useful for viewing an arbitrary class api.
>As in "javap weblogic.jms.extensions.JMSHelper".
>
>Riad wrote:
>> Hi,
>>
>> I have a generic piece of code that takes a javax.jms.Destination that
>does different
>> things depending if the destination is a queue or a topic.
>>
>> The problem is that it seems that destinations in Weblogic implement
>both queue
>> and topic:
>> instanceof queue <new_JMSTopic_1>
>> queue name: <new_JMSTopic_1>
>> weblogic.jms.common.InvalidDestinationException: Destination must be
>a queue,
>> ne
>> w_JMSTopic_1
>> at weblogic.jms.common.Destination.checkDestinationType(Destination.java
>> :113)
>> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1516)
>> at weblogic.jms.client.JMSSession.createBrowser(JMSSession.java:1500)
>> at Test.run(Test.java:100)
>> at Test.main(Test.java:311)
>>
>> Is there anyway for me to programatically distinguish between queues
>and topics
>> as there seems not to be any javadoc on weblogic.jms.common.Destination
>and instanceof
>> does not work? I would prefer not to rely on exceptions.
>>
>> I'm using Weblogic 8.1 sp2.
>>
>> Thanks
>> Riad
>
-
Creating topics and queues programatically
Hi,
Here i my scenario.
1. I have created the required number of queues and topics using the SunOne MQ's imqcmd command.
2. I want to use the jndi apis to register the jndia names for these queues in the appserver. How do we do this?
3. How to make an entry in the server.xml file programatically?
Note:- i do no t want to use the asadmin-utility for this.
i want to use the standard api's available to do this task.
Pls help
regards
raghuHi Raghu,
You appear to have created various topics and queues
on a MQ broker via the imqcmd command (independent
of app server).
For JMS clients to access/use the above topics/queues,
JMS resources of type javax.jms.Topic and javax.jms.Queue
need to be created and exposed to app server's JNDI
context.
Running this command:
asadmin create-jms-resource ...
Creates a new jms-resource entry in server.xml and
the command:
asadmin reconfig ...
Creates the actual java object and introduces it into
app server's JNDI context. (A server restart does this too).
You mention that you want to do the above from your code.
I don't think it is possible to programatically add new
resources into server.xml. If there was a way, I wouldn't
recommend it be done from J2EE applications since JMS resource
management is an administrative task. Note that using
JNDI to bind an object from an application (I haven't tried it
in app server) may appear to work but this resource is not
persisted across restarts since it is not in server.xml.
Why do you want to do this ? Why does your application need to do
what asadmin already does today ?
Perhaps if I can better understand why you want to do this I can
help suggest other solutions.
regards,
-isa -
The JMS faq say
"For Topics in WebLogic JMS 6.1, there is one JMSSession per bean instance in
the pool. Because of the way Topics work, the session, and thus every bean instance,
receives a copy of each message published on that Topic.
-- snip --
For each kind of MDB listening on the topic, the message is delivered exactly
once (i.e., the message will be delivered exactly once to an instance in each
named MDB pool listening on the topic)."
The two statements seem to condradict each other. One seems to say that each
instance in a pool will get a copy of the message and the otehr syas that the
pool as a whole will get only one copy of the message.
Am I being dense? Is there a version issue? What's going on?
-GordonIf you have a cluster of N WLS servers and on each server you have a MDB
deployed which listens to topic T. Then an instance on each of the N
servers will receive a message from the topic.
If you send P messages to the topic T, then up to P instances may be
processing the messages in parallel on a given server. However, under
the covers they will all actually be using the same JMS Session. The
EJB container does some "fancy" stuff to get the JMS acks right. This
is one of those things that makes MDBs very attractive since it's a pain
to write this code yourself in JMS.
-- Rob
Gordon Palumbo wrote:
I would agree, but given the FAQ and this statement from an old post
(feb 2001)
"In the upcoming 6.0 service pack, only one instance per deployment
will receive
a copy of a topic message. In 6.0, each deployment listener instance
receives
a copy."
The statement that each instance get's a session (and is thus a
seperate listener)bothered
me.
I got worried about expected behavior or a lingering bug in Weblogic 6.X
I was looking for someone to confirm the actual behavior in WebLogic 6.1
-Gordon
Simon Evans wrote:
it is saying for each bean, there is a pool of instances. the message
gets delivered to each bean, but to only one instance from the pool.
one instance will be picked out of the pool to handle the message.
it would not make sense for each instance of the bean in a pool to
receive the message.
Gordon Palumbo wrote:
The JMS faq say
"For Topics in WebLogic JMS 6.1, there is one JMSSession per bean
instance
in
the pool. Because of the way Topics work, the session, and thus everybean instance,
receives a copy of each message published on that Topic.
-- snip --
For each kind of MDB listening on the topic, the message is deliveredexactly
once (i.e., the message will be delivered exactly once to an instancein each
named MDB pool listening on the topic)."
The two statements seem to condradict each other. One seems to saythat each
instance in a pool will get a copy of the message and the otehr syasthat the
pool as a whole will get only one copy of the message.
Am I being dense? Is there a version issue? What's going on?
-Gordon -
Hey, my ipad is disabled and i cant open. i tried connecting it with itunes in recovery mode to restore it but it wont work it doesnt show and options itunes doesnt detect my ipad in recovery mode. what do i do know? please help!!!
If you followed these instructions and you were unable to enter recovery mode, I'm still leaning toward a hardware problem. Also, since you have IOS-7, read this. It might help.
-
Windows 2008 r2 Cluster not starting - "unable to create security manager worker queues"
Hello, following a power outage, we got a serious cluster error preventing the start of the cluster.
We are trying to interpret the only four lines the cluster.log generates :
00000330.000016cc::2014/09/26-10:44:06.348 ERR [WTQ] bogus file creation failed, 2
00000330.000016cc::2014/09/26-10:44:06.348 ERR [WTQ] bogus file creation failed, 2
00000330.000016cc::2014/09/26-10:44:06.348 ERR [CS] Unable to create SecurityManager worker queues, 2
00000330.000016cc::2014/09/26-10:44:06.363 ERR Error 6
AND if starting clussvc manually :
Got ERROR_FILE_NOT_FOUND(2)' because of 'Error while creating the Security Manag
er's Thread Pool' in
000007fe:fd69940d( ERROR_MOD_NOT_FOUND(126) )
00000000:001ff190( ERROR_MOD_NOT_FOUND(126) )
We suspect a DLL problem (because of mod not found), but we are unable to find the ones involved even with process monitor.
clusdb hive seems ok.
The situation is serious, can anybody help, please ?Hi RodV,
This error usually caused by cluster service fails to open a
handle to the \NUL device, Device manager shows the device instance in error state.
Please check whether the following register value still exist, if not please backup your current registry then add the it.
HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\ENUM\ROOT\LEGACY_NULL\0000\CONTROL
ActiveService REG_SZ Null
I am glad to be of help to you!
We
are trying to better understand customer views on social support experience, so your participation in this
interview project would be greatly appreciated if you have time.
Thanks for helping make community forums a great place. -
my ipod touch 4th gen isnt work after a long time with 0 percent battery power.Then its not working. computer doesnt respond to my ipod .only black screen is appearing it even not wake up after reset it what can i do please help me
After being connected to a charging source overnight try:
- iOS: Not responding or does not turn on
- Also try DFU mode after try recovery mode
How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
- If not successful and you can't fully turn the iOS device fully off, let the battery fully drain. After charging for an least an hour try the above again.
- Try on another computer
- If still not successful that usually indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order.
Apple Retail Store - Genius Bar -
Not able to stop Universal Work Queue Server
Hello,
I have created a Server Group in the ICSM (Call Center HTML administration->ICSM->Server Groups) and it has all the server processes required for Interaction Center. I started all these processes and now am trying to stop them. I am able to stop all the server processes except the Universal Work Queue Server process. Whatever I do, this server just wont stop :-(. I tried stopping it using the HTML admin page as well as the ieoicsm command line.
I have another group and I need to start the UWQ server within this group. But it just wont start and I think thats because the UWQ server is running as pasrt of another group already. Both the server groups are associated with the same icsm node. I tried dissassociating the first UWQ server (which wont stop) from this icsm node, but I cant even do that. I cant even delete the server group as it keeps on saying that a server group which has processes runnig cannot be stopped.
Does anyone have a solution to this?A restart of the application server solved the problem.
-
Implementing work queues? (or, "readpast equivalent in oracle?")
Without going to Advanced Queuing, is there a
more straightforward way to implement a work
queue?
As an example of what I'd like to do,
I have a table with rows, each row identifying some
work that has to be done.
I would like to have multiple processes pick up the
first available "unlocked" row, and select it for update.
When the work is done the process would update the row and
mark it done, and commit it, etc. If the process fails,
it would rollback and that will be the right behaviour
for my needs.
I think a SQL-server equivalent of the READPAST hint
to ignore row-locked entries would work nicely for what
I want to do, but I'm interested in other solutions, etc
for this problem?
Thanks,
-kbHello,
Two thoughts come to mind. You could have a Java Message Listener listening on a queue for an event and then do whatever you need to do after it has received that event.
The other option is to use the external procedure mechanism to invoke a bit of c code to start you Java code. A bit convoluted compared to the first option.
Thanks
Peter -
Reading old message from Topic or queue
How i can read old message from jms topic or queue?
It depends on what you mean by "old" and what your JMS implementation is. Old as in expired or as in previously delivered?
Sending expired or previously delivered messages with DropboxMQ is as simple as moving the message files around using a shell or file explorer.
http://dropboxmq.sourceforge.net
Dwayne -
How to create Bridge connecting distributed Topic to queue
Hi,
I am trying to create a bridge which connects distributed topic with JMS queue.
Both the topic and queue are in the same domain.
But it is not getting connected. Status is failed.
Below is the configuration -
<messaging-bridge>
<name>DisTopicBridge</name>
<target>Managed_soa_server01</target>
<source-destination>DisTopicSource</source-destination>
<target-destination>QueueSource1</target-destination>
<selector></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>
<jms-bridge-destination>
<name>DisTopicSource</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<classpath></classpath>
<connection-factory-jndi-name>jndi/TestConnectionFactory</connection-factory-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-url>t3://xxx.xx.xxx.40:9101</connection-url>
<destination-jndi-name>jndi/TestDistributedTopic</destination-jndi-name>
<destination-type>Topic</destination-type>
</jms-bridge-destination>
<jms-bridge-destination>
<name>QueueSource1</name>
<adapter-jndi-name>eis.jms.WLSConnectionFactoryJNDIXA</adapter-jndi-name>
<classpath></classpath>
<connection-factory-jndi-name>jndi/QConnectionFactory</connection-factory-jndi-name>
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<connection-url>t3://xxx.xx.xxx.40:9101</connection-url>
<destination-jndi-name>jndi/TestQueue2</destination-jndi-name>
<destination-type>Queue</destination-type>
</jms-bridge-destination>
Error in the log:
<Warning> <MessagingBridge> <server-app-01> <Managed_soa_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d632395af8efc868:3b2a67dd:13752cfef88:-8000-00000000000d3c66> <1337198463908> <BEA-200026> <Bridge "DisTopicBridge" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was javax.resource.ResourceException: Error setting message listener.)>
<Info> <MessagingBridge> <server-app-01> <Managed_soa_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d632395af8efc868:3b2a67dd:13752cfef88:-8000-00000000000d3c67> <1337198463908> <BEA-200020> <Bridge "DisTopicBridge" is stopped.>
<Info> <MessagingBridge> <server-app-01> <Managed_soa_server01> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <d632395af8efc868:3b2a67dd:13752cfef88:-8000-00000000000d3cb9> <1337198471319> <BEA-200034> <Bridge "DisTopicBridge" is shut down.>
Is there any special way we have to configure the Bridge while using Distributed topic?Hello,
Please find the more details about the error we are receiving ( BEA-200026 )
http://docs.oracle.com/cd/E13222_01/wls/docs100/messages/Bridge.html
BEA-200026
Warning: Bridge "arg01" encountered some problems in one of its adapters or underlying systems. It stopped transferring messages and will try to reconnect to the adapters shortly. (The exception caught was t.)
Description
This message indicates that errors occurred during the process of transferring messages. The bridge stopped its connections to both adapters and will attempt reconnect soon.
Cause
There was a problem in receiving or sending messages to one of the sides of the bridge.
Action
No action required.
I would also request you to specify the version of weblogic and verify if the adapter is being deployed properly.
Please reveiw the bridge document
http://docs.oracle.com/cd/E11035_01/wls100/bridge/bridgefaq.html
Can you also check the status of the bridge
Messaging –> Bridges –> YOUR_Bridge_NAME –> Monitoring [tab]
Please provide the above required details
-Vishal Iyer -
I'd like to know if a JMS client can create a topic or queue dynamically to be used by others JMS clients, or this is a operation which only can be performed by JMS server.
Thanks in advance.I should add that the JMS spec does define an API for creating 'temporary destinations', e.g., using the QueueSession.createTemporaryQueue() method. However these have a few limitations over standard destinations: firstly, they only survive for the lifetime of the connection from which they were created, when the connection is closed the destination is destroyed and the contents is lost; secondly, although producers from any connection can produce messages to a temporary destination, only consumers that belong to the same connection within which the temporary destination was created are able to consume from a given temporary destination. All that said, temporary destinations can often be useful, particularly for handling request/response type interactions - see QueueRequestors too for more info.
Best regards,
David Ingham
Arjuna Technologies - http://www.arjuna.com
Maybe you are looking for
-
IPhone software update 2.2 error
I'm trying to update to the 2.2 firmware but I keep getting the following error message: +The iPhone "iPhone could not be restored. An unknown error occurred (14).+ I'm using the latest version of iTunes (updated it just an hour ago) and the latest v
-
Can we adjust the audio levels in DVD Studio Pro?
-
Linking another URL to an existing iWeb site?
Is it possible to link another URL that I have registered (with GoDaddy) so that it connects directly with the URL associated with my iWeb site? Thanks so much for any advice. Steve Pressman
-
I purchased CS5 a few years ago, and I have my serial number. Now I have a new computer with no disk drive and I need to re-download the programs. I found previous questions regarding downloading CS5 programs onto a new computer, but when I click th
-
TS3367 How can I change my FaceTime # in settings???
How can I change my FaceTime # in settings???