You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by johncarl81 <je...@kcp.com> on 2010/01/27 05:04:40 UTC

Testing around BlobMessage

Hello,

I am trying to write some unit tests around an embedded ActiveMQ configured
using the suggested testing configuration:

ConnectionFactory connectionFactory = new
ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");

When I try to use the producer to send a message from a
session.createBlobMessage(...) the unit test responds with the following
exception:

javax.jms.JMSException: Connection refused: connect
        at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
        at
org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:176)
        at
org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1674)
        at
org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
        at
org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
        ...
Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at
java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
        at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:837)
        at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
        at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:703)
        at
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:881)
        at
org.apache.activemq.blob.DefaultBlobUploadStrategy.uploadStream(DefaultBlobUploadStrategy.java:59)
        at
org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:53)
        at
org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:173)
        ... 32 more 

It looks like the client is trying to upload the 'blob' and failing to do so
because of a connection problem (refused).

Is there a better way to test around the blob message functionality?  Maybe
mocking the functionality further than simply embedding activemq?

Thanks for your reply.

John
-- 
View this message in context: http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27333888.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Testing around BlobMessage

Posted by johncarl81 <je...@kcp.com>.
Thanks for the tip.  That is exactly what I was looking for.

John

Gary Tully wrote:
> 
> have a look at org.apache.activemq.blob.FTPBlobTest in activemq-core
> 
> Blobs just have url references to them and make use of http or ftp to
> upload
> and download the message content. So for http you need to configure a http
> endpoint in your unit test.
> In the FTPBlobTest an embedded ftp server is used as the transfer policy
> indicates to use ftp. You need to do something similar with say, embedded
> jetty
> 
> 2010/1/27 johncarl81 <je...@kcp.com>
> 
>>
>> Hello,
>>
>> I am trying to write some unit tests around an embedded ActiveMQ
>> configured
>> using the suggested testing configuration:
>>
>> ConnectionFactory connectionFactory = new
>> ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
>>
>> When I try to use the producer to send a message from a
>> session.createBlobMessage(...) the unit test responds with the following
>> exception:
>>
>> javax.jms.JMSException: Connection refused: connect
>>        at
>>
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
>>        at
>>
>> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:176)
>>        at
>> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1674)
>>        at
>>
>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
>>        at
>>
>> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
>>        ...
>> Caused by: java.net.ConnectException: Connection refused: connect
>>        at java.net.PlainSocketImpl.socketConnect(Native Method)
>>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>        at
>> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>>        at java.net.Socket.connect(Socket.java:519)
>>        at java.net.Socket.connect(Socket.java:469)
>>        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
>>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
>>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
>>        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
>>        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
>>        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:837)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:703)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:881)
>>        at
>>
>> org.apache.activemq.blob.DefaultBlobUploadStrategy.uploadStream(DefaultBlobUploadStrategy.java:59)
>>        at
>> org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:53)
>>        at
>>
>> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:173)
>>        ... 32 more
>>
>> It looks like the client is trying to upload the 'blob' and failing to do
>> so
>> because of a connection problem (refused).
>>
>> Is there a better way to test around the blob message functionality? 
>> Maybe
>> mocking the functionality further than simply embedding activemq?
>>
>> Thanks for your reply.
>>
>> John
>> --
>> View this message in context:
>> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27333888.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> http://blog.garytully.com
> 
> Open Source Integration
> http://fusesource.com
> 
> 

-- 
View this message in context: http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27358554.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Testing around BlobMessage

Posted by Gary Tully <ga...@gmail.com>.
want to submit your hack as a patch, using ssh/scp makes great sense.

On 2 August 2011 17:07, johncarl81 <jo...@gmail.com> wrote:
> Pawan Chhabra <pa...@...> writes:
>
>>
>>
>> I had faced the similar problem. you need to set policy like
>>
> connectionFactory.getBlobTransferPolicy().setUploadUrl("http://127.0.0.1:8161/fileserver/");
>>
>>
>
> Just a follow up since I found this post from last year.
>
> We've successfully used SSH / SCP to transfer files out of band using the
> blob transfer policy and a little hacking of the upload url (urls don't
> support).
>
>
>
>
>



-- 
http://fusesource.com
http://blog.garytully.com

Re: Testing around BlobMessage

Posted by johncarl81 <jo...@gmail.com>.
Pawan Chhabra <pa...@...> writes:

> 
> 
> I had faced the similar problem. you need to set policy like
>
connectionFactory.getBlobTransferPolicy().setUploadUrl("http://127.0.0.1:8161/fileserver/");
> 
> 

Just a follow up since I found this post from last year.

We've successfully used SSH / SCP to transfer files out of band using the 
blob transfer policy and a little hacking of the upload url (urls don't
support).





Re: Testing around BlobMessage

Posted by Pawan Chhabra <pa...@infosys.com>.
I had faced the similar problem. you need to set policy like
connectionFactory.getBlobTransferPolicy().setUploadUrl("http://127.0.0.1:8161/fileserver/");



Gary Tully wrote:
> 
> yea, that is correct.
> 
> On 1 February 2010 15:16, johncarl81 <je...@kcp.com> wrote:
> 
>>
>> Another related question...
>>
>> Am I required to have a ftp (or similar... scp?) server running side by
>> side
>> with activemq to utilize the BlobMessage functionality?  Seems like I
>> would
>> have to from the way the unit tests work.
>>
>> Thanks again.
>>
>> John
>>
>>
>>
>> Gary Tully wrote:
>> >
>> > have a look at org.apache.activemq.blob.FTPBlobTest in activemq-core
>> >
>> > Blobs just have url references to them and make use of http or ftp to
>> > upload
>> > and download the message content. So for http you need to configure a
>> http
>> > endpoint in your unit test.
>> > In the FTPBlobTest an embedded ftp server is used as the transfer
>> policy
>> > indicates to use ftp. You need to do something similar with say,
>> embedded
>> > jetty
>> >
>> > 2010/1/27 johncarl81 <je...@kcp.com>
>> >
>> >>
>> >> Hello,
>> >>
>> >> I am trying to write some unit tests around an embedded ActiveMQ
>> >> configured
>> >> using the suggested testing configuration:
>> >>
>> >> ConnectionFactory connectionFactory = new
>> >> ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
>> >>
>> >> When I try to use the producer to send a message from a
>> >> session.createBlobMessage(...) the unit test responds with the
>> following
>> >> exception:
>> >>
>> >> javax.jms.JMSException: Connection refused: connect
>> >>        at
>> >>
>> >>
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
>> >>        at
>> >>
>> >>
>> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:176)
>> >>        at
>> >> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1674)
>> >>        at
>> >>
>> >>
>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
>> >>        at
>> >>
>> >>
>> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
>> >>        ...
>> >> Caused by: java.net.ConnectException: Connection refused: connect
>> >>        at java.net.PlainSocketImpl.socketConnect(Native Method)
>> >>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>> >>        at
>> >> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>> >>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>> >>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>> >>        at java.net.Socket.connect(Socket.java:519)
>> >>        at java.net.Socket.connect(Socket.java:469)
>> >>        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
>> >>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
>> >>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
>> >>        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
>> >>        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
>> >>        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
>> >>        at
>> >>
>> >>
>> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:837)
>> >>        at
>> >>
>> >>
>> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
>> >>        at
>> >>
>> >>
>> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:703)
>> >>        at
>> >>
>> >>
>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:881)
>> >>        at
>> >>
>> >>
>> org.apache.activemq.blob.DefaultBlobUploadStrategy.uploadStream(DefaultBlobUploadStrategy.java:59)
>> >>        at
>> >> org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:53)
>> >>        at
>> >>
>> >>
>> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:173)
>> >>        ... 32 more
>> >>
>> >> It looks like the client is trying to upload the 'blob' and failing to
>> do
>> >> so
>> >> because of a connection problem (refused).
>> >>
>> >> Is there a better way to test around the blob message functionality?
>> >> Maybe
>> >> mocking the functionality further than simply embedding activemq?
>> >>
>> >> Thanks for your reply.
>> >>
>> >> John
>> >> --
>> >> View this message in context:
>> >>
>> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27333888.html
>> >> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > http://blog.garytully.com
>> >
>> > Open Source Integration
>> > http://fusesource.com
>> >
>> >
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27405823.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> http://blog.garytully.com
> 
> Open Source Integration
> http://fusesource.com
> 
> 

-- 
View this message in context: http://old.nabble.com/Testing-around-BlobMessage-tp27333888p28777252.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Testing around BlobMessage

Posted by Gary Tully <ga...@gmail.com>.
yea, that is correct.

On 1 February 2010 15:16, johncarl81 <je...@kcp.com> wrote:

>
> Another related question...
>
> Am I required to have a ftp (or similar... scp?) server running side by
> side
> with activemq to utilize the BlobMessage functionality?  Seems like I would
> have to from the way the unit tests work.
>
> Thanks again.
>
> John
>
>
>
> Gary Tully wrote:
> >
> > have a look at org.apache.activemq.blob.FTPBlobTest in activemq-core
> >
> > Blobs just have url references to them and make use of http or ftp to
> > upload
> > and download the message content. So for http you need to configure a
> http
> > endpoint in your unit test.
> > In the FTPBlobTest an embedded ftp server is used as the transfer policy
> > indicates to use ftp. You need to do something similar with say, embedded
> > jetty
> >
> > 2010/1/27 johncarl81 <je...@kcp.com>
> >
> >>
> >> Hello,
> >>
> >> I am trying to write some unit tests around an embedded ActiveMQ
> >> configured
> >> using the suggested testing configuration:
> >>
> >> ConnectionFactory connectionFactory = new
> >> ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
> >>
> >> When I try to use the producer to send a message from a
> >> session.createBlobMessage(...) the unit test responds with the following
> >> exception:
> >>
> >> javax.jms.JMSException: Connection refused: connect
> >>        at
> >>
> >>
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
> >>        at
> >>
> >>
> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:176)
> >>        at
> >> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1674)
> >>        at
> >>
> >>
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
> >>        at
> >>
> >>
> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
> >>        ...
> >> Caused by: java.net.ConnectException: Connection refused: connect
> >>        at java.net.PlainSocketImpl.socketConnect(Native Method)
> >>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
> >>        at
> >> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
> >>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
> >>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
> >>        at java.net.Socket.connect(Socket.java:519)
> >>        at java.net.Socket.connect(Socket.java:469)
> >>        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
> >>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
> >>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
> >>        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
> >>        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
> >>        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
> >>        at
> >>
> >>
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:837)
> >>        at
> >>
> >>
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
> >>        at
> >>
> >>
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:703)
> >>        at
> >>
> >>
> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:881)
> >>        at
> >>
> >>
> org.apache.activemq.blob.DefaultBlobUploadStrategy.uploadStream(DefaultBlobUploadStrategy.java:59)
> >>        at
> >> org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:53)
> >>        at
> >>
> >>
> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:173)
> >>        ... 32 more
> >>
> >> It looks like the client is trying to upload the 'blob' and failing to
> do
> >> so
> >> because of a connection problem (refused).
> >>
> >> Is there a better way to test around the blob message functionality?
> >> Maybe
> >> mocking the functionality further than simply embedding activemq?
> >>
> >> Thanks for your reply.
> >>
> >> John
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27333888.html
> >> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > http://blog.garytully.com
> >
> > Open Source Integration
> > http://fusesource.com
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27405823.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com

Re: Testing around BlobMessage

Posted by johncarl81 <je...@kcp.com>.
Another related question...

Am I required to have a ftp (or similar... scp?) server running side by side
with activemq to utilize the BlobMessage functionality?  Seems like I would
have to from the way the unit tests work.

Thanks again.

John



Gary Tully wrote:
> 
> have a look at org.apache.activemq.blob.FTPBlobTest in activemq-core
> 
> Blobs just have url references to them and make use of http or ftp to
> upload
> and download the message content. So for http you need to configure a http
> endpoint in your unit test.
> In the FTPBlobTest an embedded ftp server is used as the transfer policy
> indicates to use ftp. You need to do something similar with say, embedded
> jetty
> 
> 2010/1/27 johncarl81 <je...@kcp.com>
> 
>>
>> Hello,
>>
>> I am trying to write some unit tests around an embedded ActiveMQ
>> configured
>> using the suggested testing configuration:
>>
>> ConnectionFactory connectionFactory = new
>> ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
>>
>> When I try to use the producer to send a message from a
>> session.createBlobMessage(...) the unit test responds with the following
>> exception:
>>
>> javax.jms.JMSException: Connection refused: connect
>>        at
>>
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
>>        at
>>
>> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:176)
>>        at
>> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1674)
>>        at
>>
>> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
>>        at
>>
>> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
>>        ...
>> Caused by: java.net.ConnectException: Connection refused: connect
>>        at java.net.PlainSocketImpl.socketConnect(Native Method)
>>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>>        at
>> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>>        at java.net.Socket.connect(Socket.java:519)
>>        at java.net.Socket.connect(Socket.java:469)
>>        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
>>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
>>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
>>        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
>>        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
>>        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:837)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:703)
>>        at
>>
>> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:881)
>>        at
>>
>> org.apache.activemq.blob.DefaultBlobUploadStrategy.uploadStream(DefaultBlobUploadStrategy.java:59)
>>        at
>> org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:53)
>>        at
>>
>> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:173)
>>        ... 32 more
>>
>> It looks like the client is trying to upload the 'blob' and failing to do
>> so
>> because of a connection problem (refused).
>>
>> Is there a better way to test around the blob message functionality? 
>> Maybe
>> mocking the functionality further than simply embedding activemq?
>>
>> Thanks for your reply.
>>
>> John
>> --
>> View this message in context:
>> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27333888.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> http://blog.garytully.com
> 
> Open Source Integration
> http://fusesource.com
> 
> 

-- 
View this message in context: http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27405823.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Testing around BlobMessage

Posted by Gary Tully <ga...@gmail.com>.
have a look at org.apache.activemq.blob.FTPBlobTest in activemq-core

Blobs just have url references to them and make use of http or ftp to upload
and download the message content. So for http you need to configure a http
endpoint in your unit test.
In the FTPBlobTest an embedded ftp server is used as the transfer policy
indicates to use ftp. You need to do something similar with say, embedded
jetty

2010/1/27 johncarl81 <je...@kcp.com>

>
> Hello,
>
> I am trying to write some unit tests around an embedded ActiveMQ configured
> using the suggested testing configuration:
>
> ConnectionFactory connectionFactory = new
> ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
>
> When I try to use the producer to send a message from a
> session.createBlobMessage(...) the unit test responds with the following
> exception:
>
> javax.jms.JMSException: Connection refused: connect
>        at
>
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:62)
>        at
>
> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:176)
>        at
> org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1674)
>        at
>
> org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
>        at
>
> org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:241)
>        ...
> Caused by: java.net.ConnectException: Connection refused: connect
>        at java.net.PlainSocketImpl.socketConnect(Native Method)
>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
>        at
> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
>        at java.net.Socket.connect(Socket.java:519)
>        at java.net.Socket.connect(Socket.java:469)
>        at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
>        at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
>        at sun.net.www.http.HttpClient.New(HttpClient.java:306)
>        at sun.net.www.http.HttpClient.New(HttpClient.java:323)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:837)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:778)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:703)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:881)
>        at
>
> org.apache.activemq.blob.DefaultBlobUploadStrategy.uploadStream(DefaultBlobUploadStrategy.java:59)
>        at
> org.apache.activemq.blob.BlobUploader.upload(BlobUploader.java:53)
>        at
>
> org.apache.activemq.command.ActiveMQBlobMessage.onSend(ActiveMQBlobMessage.java:173)
>        ... 32 more
>
> It looks like the client is trying to upload the 'blob' and failing to do
> so
> because of a connection problem (refused).
>
> Is there a better way to test around the blob message functionality?  Maybe
> mocking the functionality further than simply embedding activemq?
>
> Thanks for your reply.
>
> John
> --
> View this message in context:
> http://old.nabble.com/Testing-around-BlobMessage-tp27333888p27333888.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com