activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hemant Gaur" <hg...@interwoven.com>
Subject RE: OpenJMS Alpha and Active MQ jmeter tests
Date Wed, 06 Dec 2006 12:58:29 GMT
 
For resolving the openJMS alpha and JMeter compatibility error I
downloaded alpha source and build it locally using maven.
 
 
Debugging showed the error "Mismatched destination properties" coming
from the OpenJMS alpha server is because the class
org.exolab.jms.messagemgr.ConsumerManagerImpl.getDestination checks the
incoming topic type to be persistent.
 if (existing.getPersistent() != destination.getPersistent()) { throw
exception }
 
Now these existing and incoming  topics(existing and destination)  are
the objects of JMSTopic whose super class JmsDestination has the member
variable _persistent defaulted to false.
 
1.) I changed this  to true and recompiled and plugged the
openjms-0.7.7-alpha-3.jar into setup.
JMeter tests were able to publish and subscribe the messages but after
publishing nearly 800 messages the OpenJMS stops responding. No error is
in the JMeter or JMS logs.
 
2.) Just to be sure that I have not broken any logical flow, I reverted
the above change and put the call for setting the Topic to persistent
(topic.setPersistent(true)) in the consumer subscription request only
(RemoteServerSession.createDurableConsumer()).This also had the same
fate after nearly 1000 messages published and subscribed.
 
3.) Also just commenting the check for the persistent in the original
exception location had the same results. 


-----Original Message-----
From: Adrian Co [mailto:aco@exist.com] 
Sent: Tuesday, December 05, 2006 10:44 PM
To: activemq-users@geronimo.apache.org
Subject: Re: OpenJMS Alpha and Active MQ jmeter tests

Can you file a jira for this? I wasn't aware of a restriction to use 
JNDI to lookup topics...

Hemant Gaur wrote:
> Hi,
> I am trying to run the jmeter performance tests on the OpenJMS. Though
I
> am able to get the tests running and results for release version
there
> is an exception thrown in the duable/persistant subscriber for the
> OpenJMS alpha.
> Mismatched destination properties for destination with
> name=TOOL.DEFAULT.TOPIC0
>     at
>
org.exolab.jms.messagemgr.ConsumerManagerImpl.getDestination(ConsumerMan
> agerImpl.java:772)
>     at
>
org.exolab.jms.messagemgr.ConsumerManagerImpl.createInactiveDurableConsu
> mer(ConsumerManagerImpl.java:571)
>     at
>
org.exolab.jms.messagemgr.ConsumerManagerImpl.createDurableConsumer(Cons
> umerManagerImpl.java:345)
>     at
>
org.exolab.jms.server.ServerSessionImpl.createDurableConsumer(ServerSess
> ionImpl.java:343)
>     at
>
org.exolab.jms.server.net.RemoteServerSession.createDurableConsumer(Remo
> teServerSession.java:245)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
>     at
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:585)
>     at
> org.exolab.jms.net.orb.DefaultORB$Handler.invoke(DefaultORB.java:553)
>     at org.exolab.jms.net.orb.DefaultORB$1.run(DefaultORB.java:511)
>     at
> EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
> Source)
>     at java.lang.Thread.run(Thread.java:595)
>
>
> ON searching i found the explaination for this (By Tim Anderson):
> ========================================================
> The topic you are using doesn't have the same properties as
> a destination with the same name, being managed by the server.
> This will typically happen if you have used the
> TopicSession.createTopic()method giving a name for a topic that is
> persistent on the server. For persistent topics, you should look them
up
> using JNDI.
> -Tim
> ==========================================================
>
> As I dont build the JMeter or OpenJMS locally and hence have no
control
> over the source. I have this topic populated using the OpenJMS config
> file using
>
> <AdministeredDestinations>
>       <AdministeredTopic name="TOOL.DEFAULT.TOPIC0"/>
> </AdministeredDestinations>
>
> Can there be any settings which makes me work this with the alpha
> version. Things are already working with the same test case using the
> OpenJMS release version.
>
>
> Relevant code from the openJMS ConsumerManagerImpl.getDestination()
> ------------------------------------------------------------
>
if(!destination.getClass().getName().equals(existing.getClass().getName(
> )))
>                   throw new InvalidDestinationException("Mismatched
> destination properties for destination with name=" + name);
>             if(existing.getPersistent() !=
destination.getPersistent())
>                 throw new InvalidDestinationException("Mismatched
> destination properties for destination with name=" + name);
>
> ------------------------------------------------------------
>
> Thanks,
> Hemant Gaur
>
>   



Mime
View raw message