-
1. Re: Durable Subscriber Annotations for MDB using EJB3
mskonda Jan 24, 2006 1:13 PM (in response to david.l.small)@MessageDriven (messageListenerInterface=?javax.jms.MessageListener?,activationConfig = { @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Topic"), @ActivationConfigProperty(propertyName="destination",propertyValue="mytopic"), @ActivationConfigProperty(propertyName="subscriptionDurability",propertyValue="Durable") } ) Note: If non-durable subscription, propertyValue is NonDurable
/MK -
2. Re: Durable Subscriber Annotations for MDB using EJB3
david.l.small Jan 24, 2006 1:46 PM (in response to david.l.small)This is great. Is there also a way to set the client ID so that the topic can distinguish subscribers?
Thanks. -
3. Re: Durable Subscriber Annotations for MDB using EJB3
david.l.small Jan 31, 2006 6:52 PM (in response to david.l.small)Bump
Still looking for the proper annotation to set a client ID for a durable topic MDB subscriber. Any help would be appreicated. -
4. Re: Durable Subscriber Annotations for MDB using EJB3
bill.burke Jan 31, 2006 7:56 PM (in response to david.l.small)@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName="clientID", propertyValue="xxx"), }
You can set any property that is available in org.jboss.ejb3.mdb.MDBConfig -
5. Re: Durable Subscriber Annotations for MDB using EJB3
josey Apr 21, 2006 4:50 PM (in response to david.l.small)Did these annotations work for you in creating a MDB with a durable topic subscription?
The annotation for subscription durability appears differently here:
http://docs.jboss.org/ejb3/app-server/reference/build/reference/en/html_single/index.html#jboss_deployment_descriptor
Using either one I am unable to create a durable subscription (MDB works fine aside from that; can see it is NONDURABLE from peaking into the JMX-console for the topic).@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic"), @ActivationConfigProperty(propertyName="destination", propertyValue="topic/STMessageTopic"), @ActivationConfigProperty(propertyName="subscriptionDurability",propertyValue="True"), @ActivationConfigProperty(propertyName="user", propertyValue="john"), @ActivationConfigProperty(propertyName="password", propertyValue="needle"), @ActivationConfigProperty(propertyName="subscriptionName", propertyValue="josey") }) public class STMessageSubscriberB implements MessageListener {
-
6. Re: Durable Subscriber Annotations for MDB using EJB3
josey Apr 21, 2006 7:51 PM (in response to david.l.small)This annotation is incorrect:
@ActivationConfigProperty(propertyName="subscriptionDurability",propertyValue="Durable")
It s/b this:@ActivationConfigProperty(propertyName="durability",propertyValue="Durable")
At least with AS 4.04CR2. -
7. Re: Durable Subscriber Annotations for MDB using EJB3
jnerd Jul 4, 2006 4:53 AM (in response to david.l.small)Hi there,
I am toying around with durable subscriptions, too, and ran into the same problems. I observed the following:You can set any property that is available in org.jboss.ejb3.mdb.MDBConfig
Funny though that there is no "subscriptionDurability" property in that class. I tried to set the present "durability" property and it look much better.@ActivationConfigProperty(propertyName="Durability",propertyValue="Durable")
Next JBoss bothers about a missing subscription name. So here we go:@ActivationConfigProperty(propertyName="subscriptionName",propertyValue = "echoBean")
This get's me a bit further, but I still fail due to security constraint:javax.jms.JMSSecurityException: Connection not authorized to do durable subscription on topic: testMDB at org.jboss.mq.security.ServerSecurityInterceptor.subscribe(ServerSecurityInterceptor.java:150) at org.jboss.mq.server.TracingInterceptor.subscribe(TracingInterceptor.java:779) at org.jboss.mq.server.JMSServerInvoker.subscribe(JMSServerInvoker.java:312) at org.jboss.mq.il.jvm.JVMServerIL.subscribe(JVMServerIL.java:329) at org.jboss.mq.Connection.addConsumer(Connection.java:789) at org.jboss.mq.SpyConnectionConsumer.<init>(SpyConnectionConsumer.java:111) at org.jboss.mq.SpyConnection.createDurableConnectionConsumer(SpyConnection.java:196) at org.jboss.ejb3.mdb.MDB.innerCreateTopic(MDB.java:524) at org.jboss.ejb3.mdb.MDB.innerCreate(MDB.java:342) at org.jboss.ejb3.mdb.MDB.innerStart(MDB.java:225) at org.jboss.ejb3.mdb.MDB.start(MDB.java:214)
Argh. I specified a user and a password, which are definitely evaluated. But I didn't succeeded yet in hacking my own application server :(.@ActivationConfigProperty(propertyName="Durability",propertyValue="Durable") ,@ActivationConfigProperty(propertyName="subscriptionName",propertyValue="slowEchoBean") ,@ActivationConfigProperty(propertyName="user",propertyValue="guest") ,@ActivationConfigProperty(propertyName="password",propertyValue="guest")
So far up to now.
Cheers,
Patrick
p.s.: I am using JBoss AS 4.0.4 GA with EJB3 option on. -
8. Re: Durable Subscriber Annotations for MDB using EJB3
jnerd Jul 4, 2006 7:53 AM (in response to david.l.small)Well, the security problems is a different thing. (I disabled the SecurityManager and removed user and password and voilá it worked.)
But we really have an issue concerning the ActivationConfigProperty name. The EJB3 core specification styates that the name must be "subscriptionDurability" but in the 4.0.4 GA EJB 3 implementation it is simply "Durability".
Is there a Bug report for this? What to do to open a new one?
Cheers,
Patrick -
9. Re: Durable Subscriber Annotations for MDB using EJB3
jnerd Jul 4, 2006 8:07 AM (in response to david.l.small)Ah, that's how it works...
I created a Bug report for this issue:
http://jira.jboss.com/jira/browse/EJBTHREE-643 -
10. Re: Durable Subscriber Annotations for MDB using EJB3
goeh Oct 26, 2006 5:33 AM (in response to david.l.small)"jnerd" wrote:
I created a Bug report for this issue:
http://jira.jboss.com/jira/browse/EJBTHREE-643
As of Oct 26 EJBTHREE-643 is still open, but when I upgraded from 4.0.4.GA to 4.0.5.GA today I had to change my @ActivationConfigProperty to
(propertyName = "subscriptionDurability", propertyValue = "Durable")
My conclusion: 4.0.5.GA is fixed but the jira task is not updated yet.