[ 
https://issues.apache.org/activemq/browse/AMQ-1098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

John Silva updated AMQ-1098:
----------------------------

    Attachment: amq-1098potentialpatch.zip

Here are a few fixed files that appear to address the 
classcastexception...basically made an httpsclienttransport which just extends 
the existing HttpClientTransport.  Because the underlying HttpClient works with 
http and https, there are no further changes needed.  Then in the 
HttpsTransportFactory I return the newly created httpsclienttransport...since 
it extends the httpclienttransport there is no longer the classcastexception.  
Tested and seems to work for my purposes, patch against v4.1.1.

> Use of https transport throws ClassCastException
> ------------------------------------------------
>
>                 Key: AMQ-1098
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1098
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: incubation
>         Environment: Ubuntu Linux & Mac OS X
>            Reporter: Hernan Otero
>            Priority: Minor
>             Fix For: 5.2.0
>
>         Attachments: amq-1098potentialpatch.zip
>
>
> Trying to run the sample producer out of the main trunk using an https url 
> throws a ClassCastException.  I've tracked this down in the code to the fact 
> that HttpTransportFactory.java expects to find an HttpClientTransport but 
> HttpsTransportFactory does not override createTransport() to create an 
> HttpsClientTransport instead (HttpsClientTransport does not exist as a class).
> Thanks,
> Hernan
> $ ant producer
> Buildfile: build.xml
> init:
> compile:
> producer:
>      [echo] Running producer against server at $url = 
> https://my.example.com:2222 for subject $subject = TEST.FOO
>      [java] Connecting to URL: https://my.example.com:7043
>      [java] Publishing a Message with size 1000 to topic: TEST.FOO
>      [java] Using non-persistent messages
>      [java] Sleeping between publish 0 ms
>      [java] javax.jms.JMSException: Could not create Transport. Reason: 
> java.lang.ClassCastException: 
> org.apache.activemq.transport.https.HttpsTransport
>      [java] Caught: javax.jms.JMSException: Could not create Transport. 
> Reason: java.lang.ClassCastException: 
> org.apache.activemq.transport.https.HttpsTransport
>      [java]     at 
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:33)
>      [java]     at 
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:229)
>      [java]     at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:242)
>      [java]     at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:211)
>      [java]     at 
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:158)
>      [java]     at ProducerTool.run(Unknown Source)
>      [java]     at ProducerTool.main(Unknown Source)
>      [java] Caused by: java.lang.ClassCastException: 
> org.apache.activemq.transport.https.HttpsTransport
>      [java]     at 
> org.apache.activemq.transport.http.HttpTransportFactory.compositeConfigure(HttpTransportFactory.java:62)
>      [java]     at 
> org.apache.activemq.transport.TransportFactory.configure(TransportFactory.java:213)
>      [java]     at 
> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:117)
>      [java]     at 
> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:43)
>      [java]     at 
> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:77)
>      [java]     at 
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:227)
>      [java]     ... 5 more
> BUILD SUCCESSFUL
> Total time: 2 seconds

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to