[
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