activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Don Santillan <donzym...@gmail.com>
Subject Re: StatisticsBrokerPlugin activation
Date Fri, 17 Sep 2010 14:15:54 GMT
Thanks for your help Gary, it's working now.

Gary Tully wrote:
> oops, sorry, my bad, so there is a broker factory for xbean but no
> transport factory. The correct syntax is to use the vm transport
> factory and tell it to use the xbean broker factory using the
> brokerConfig attribute:
>
> The brokerURI should be of the form: vm://localhost?brokerConfig=xbean:...
> so you still get a vm connection, but the embedded broker is created
> using the referenced xml file.
>
> On 16 September 2010 14:27, Don Santillan <donzymeth@gmail.com> wrote:
>   
>> Hello Gary,
>>
>> Here's what I did:
>> 1. added activemq.xml to classpath (classes/activemq.xml)
>> 2. used xbean to initialize broker
>>
>> String brokerURI = "xbean:activemq.xml";
>> ActiveMQConnectionFactory connectionFactory = new
>> ActiveMQConnectionFactory(brokerURI);
>> connection = connectionFactory.createConnection();
>> connection.start();
>>
>> 3. run the test.
>>
>> The test fails on the "connection = connectionFactory.createConnection();"
>> line with the error:
>> javax.jms.JMSException: Could not create Transport. Reason:
>> java.io.IOException: Transport scheme NOT recognized: [xbean]
>>   at
>> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
>>   at
>> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:245)
>>   at
>> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:258)
>>   at
>> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:230)
>>   at
>> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:178)
>>   at
>> com.babelcentral.tallyho.gateway.messaging.MonitoringTest.initConnection(MonitoringTest.java:94)
>>   at
>> com.babelcentral.tallyho.gateway.messaging.MonitoringTest.setUp(MonitoringTest.java:37)
>>   at junit.framework.TestCase.runBare(TestCase.java:132)
>>   at junit.framework.TestResult$1.protect(TestResult.java:110)
>>   at junit.framework.TestResult.runProtected(TestResult.java:128)
>>   at junit.framework.TestResult.run(TestResult.java:113)
>>   at junit.framework.TestCase.run(TestCase.java:124)
>>   at junit.framework.TestSuite.runTest(TestSuite.java:232)
>>   at junit.framework.TestSuite.run(TestSuite.java:227)
>>   at
>> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
>>   at
>> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>>   at
>> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>>   at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>>   at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>>   at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>>   at
>> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
>> Caused by: java.io.IOException: Transport scheme NOT recognized: [xbean]
>>   at
>> org.apache.activemq.util.IOExceptionSupport.create(IOExceptionSupport.java:27)
>>   at
>> org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:204)
>>   at
>> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:79)
>>   at
>> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:243)
>>   ... 19 more
>> Caused by: java.io.IOException: Could not find factory class for resource:
>> META-INF/services/org/apache/activemq/transport/xbean
>>   at
>> org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.loadProperties(FactoryFinder.java:96)
>>   at
>> org.apache.activemq.util.FactoryFinder$StandaloneObjectFactory.create(FactoryFinder.java:58)
>>   at
>> org.apache.activemq.util.FactoryFinder.newInstance(FactoryFinder.java:146)
>>   at
>> org.apache.activemq.transport.TransportFactory.findTransportFactory(TransportFactory.java:201)
>>   ... 21 more
>>
>>
>> -don
>>
>>
>> Gary Tully wrote:
>>     
>>> Use the xbean: uri syntax to reference an xml configuration file in
>>> your brokerURI, that is the most flexible way to configure an embedded
>>> broker.
>>>
>>> http://activemq.apache.org/broker-configuration-uri.html
>>>
>>>
>>>
>>> On 16 September 2010 09:24, Don Santillan <donzymeth@gmail.com> wrote:
>>>
>>>       
>>>> Hello,
>>>>
>>>> I am using activemq as a dependency in a web app. My web app is deployed
>>>> to
>>>> a jetty server which is run through maven by issuing "mvn jetty:run".
>>>>
>>>> Of course, one part of the web app is to create and start a broker. I am
>>>> doing this through ActiveMQConnectionFactory (as described at the last
>>>> part
>>>> of
>>>>
>>>> http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html,
>>>> titled "Using ActiveMQConnectionFactory"):
>>>>
>>>> String brokerURI = "vm://testBroker?broker.persistent=false";
>>>> ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory(brokerURI);
>>>> Connection connection = cf.createConnection();
>>>> connection.start();
>>>>
>>>> Now, since I am running my web web app through maven, and activemq is
>>>> used
>>>> as a library (not as a standalone app), I don't have an activemq.xml
>>>> configuration file. So, I don't know where to activate/enable
>>>> StatisticsBrokerPlugin as described at
>>>> http://activemq.apache.org/statisticsplugin.html:
>>>>
>>>> <broker ...>
>>>>  <plugins>
>>>>  statisticsBrokerPlugin/>
>>>>  </plugins>
>>>> </broker>
>>>>
>>>> Also, since I am using ActiveMQConnectionFactory to create and start the
>>>> broker, I can't take advantage of setting the plugin through
>>>> BrokerService:
>>>>
>>>> BrokerPlugin plugin = new StatisticsBrokerPlugin();
>>>> BrokerPlugin[] plugins = {plugin};
>>>>
>>>> BrokerService broker = new BrokerService();
>>>> try {
>>>>  broker.addConnector(brokerURI);
>>>>  broker.setPlugins(plugins);
>>>>  broker.start();
>>>> } catch (Exception e) {
>>>>  e.printStackTrace();
>>>> }
>>>>
>>>> Now, my questions are:
>>>> 1. How will I be able to set the StatisticsBrokerPlugin with the above
>>>> scenario?
>>>> 2. Is there a way to get a reference to the broker to be able to set the
>>>> plugin?
>>>> 3. Is there a way to add and use activemq.xml if it is used as a library
>>>> and
>>>> run through maven? Set in pom.xml?
>>>>
>>>> Please help. I really need this to work.
>>>>
>>>> Thanks in advance.
>>>>
>>>> -don
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>
>
>
>   

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message