[jboss-jira] [JBoss JIRA] Closed: (JBAS-3035) Can't proxy JMS Queues with org.springframework.jndi.JndiObjectFactoryBean
Adrian Brock (JIRA)
jira-events at jboss.com
Fri Sep 22 10:07:01 EDT 2006
[ http://jira.jboss.com/jira/browse/JBAS-3035?page=all ]
Adrian Brock closed JBAS-3035.
------------------------------
Resolution: Deferred
Closing features that are (or will be) implemented in JBoss Messaging.
http://jira.jboss.com/jira/browse/JBMESSAGING
If anybody wants to provide a patch that implements these,
the issue can be reopened.
Duplicates of these issues will be closed
unless they provide an implementation/patch.
Patches should first be discussed in the
development forum:
http://www.jboss.com/index.html?module=bb&op=viewforum&f=153
if there isn't already a forum link attached to this issue.
> Can't proxy JMS Queues with org.springframework.jndi.JndiObjectFactoryBean
> --------------------------------------------------------------------------
>
> Key: JBAS-3035
> URL: http://jira.jboss.com/jira/browse/JBAS-3035
> Project: JBoss Application Server
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: JMS service
> Affects Versions: JBossAS-4.0.2 Final, JBossAS-4.0.4RC1, JBossAS-4.0.3 SP1
> Environment: SpringFramework 1.2.7
> Reporter: Marian Noga
> Priority: Minor
>
> Proxying of mq destinations is impossible because of lack of Interface for SpyDestination.class
> Even proxying with CGLib won't work because SpyDestination.class has no public constructor.
> Following configuration:
> <bean id="deadLetterQueue" class="org.springframework.jndi.JndiObjectFactoryBean">
> <property name="jndiName" value="queue/DLQ" />
> <property name="cache" value="false" />
> <property name="proxyInterface" value="javax.jms.Queue" />
> </bean>
> produces output:
> org.springframework.jms.InvalidDestinationException: Destination is not an instance of SpyDestination QUEUE.DLQ; nested exception is javax.jms.InvalidDestinationException: Destination is not an instance of SpyDestination QUEUE.DLQ; nested exception is javax.jms.InvalidDestinationException: Destination is not an instance of SpyDestination QUEUE.DLQ
> javax.jms.InvalidDestinationException: Destination is not an instance of SpyDestination QUEUE.DLQ
> at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:225)
> at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:212)
> at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:519)
> at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:504)
> at org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:479)
> at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:432)
> at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:477)
> at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:543)
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> changing proxyInterface to: javax.jms.Destination
> Code:
> <bean id="responseQueue" class="org.springframework.jndi.JndiObjectFactoryBean" lazy-init="false">
> <property name="jndiName" value="queue/konektor_out" />
> <property name="cache" value="false" />
> <property name="proxyInterface" value="javax.jms.Destination" />
> </bean>
> produces following output:
> java.lang.ClassCastException: $Proxy1
> at org.jboss.mq.SpySession.createProducer(SpySession.java:657)
> at org.springframework.jms.core.JmsTemplate.doCreateProducer(JmsTemplate.java:807)
> at org.springframework.jms.core.JmsTemplate.createProducer(JmsTemplate.java:788)
> at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:498)
> at org.springframework.jms.core.JmsTemplate$2.doInJms(JmsTemplate.java:479)
> at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:432)
> at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:477)
> at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:543)
> can anyone tell is it possible to change behaviour of this code:
> SpyMessageProducer.class
> if (destination == null || (destination instanceof SpyDestination) == false)
> throw new InvalidDestinationException("Destination is not an instance of SpyDestination " + destination);
> if SpyDestination was an interface in the code above, everything would be fine.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list