I have added my route builder to the classes directory but I now get this
error:
ERROR [0]] Exception sending context initialized event to listener instance
of class org.apache.activemq.web.WebConsoleStarter
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'sessionPool' defined in ServletContext resource
[/WEB-INF/webconsole-embedded.xml]: Cannot resolve reference to bean
'connectionFactory' while setting bean property 'connectionFactory'; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'connectionFactory' defined in ServletContext
resource [/WEB-INF/webconsole-embedded.xml]: Cannot resolve reference to
bean 'brokerURL' while setting constructor argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'brokerService' defined in ServletContext resource
[/WEB-INF/webconsole-embedded.xml]: Invocation of init method failed; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'camel:beanPostProcessor': Cannot resolve reference
to bean 'camel' while setting bean property 'camelContext'; nested exception
is org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'camel': Invocation of init method failed; nested exception
is java.lang.NoSuchMethodError:
my.package.name.MyRoute.from(Ljava/lang/String;)Lorg/apache/camel/model/RouteDefinition;
My code is:
package my.package.name;
import org.apache.camel.builder.RouteBuilder;
public class MyRoute extends RouteBuilder
{
@Override
public void configure() throws Exception
{
from("activemq:queue.1").to("activemq:queue.2");
}
}
I have camel-core-1.5.0.jar and activemq-camel-5.2.0.jar in my WAR's lib
folder.
What am I missing?
Claus Ibsen-2 wrote:
>
> On Fri, Jul 10, 2009 at 1:00 PM, chu_man_fu<[email protected]> wrote:
>>
>> I have routing configured via XML working with no problems.
>> It's the <package> part I want to get working but I don't know where to
>> put
>> my classes/package.
>
> Do you deploy your application as a WAR file in JBoss? If so just put
> your classes in WEB-INF/classes
>
>
>
>>
>> I have looked at apache-camel-jboss-5-spring but I don't understand how
>> to
>> get it to work. Are there any examples of this on the net which I could
>> learn from?
>>
>> I have just created a MBean which lets me stop and start a Camel context
>> which connects to my ActiveMQ broker.
>> What I want to achieve is being able to add routing on the fly without
>> causing too much disruption.
>>
>
> Yeah. Well you could just deploy routes as WAR files and do redloyments.
> eg every route / application as a separate WAR file.
>
> In Camel 2.x the dynamic modification of routing will be improved.
> There is a Camel web console that will be improved over time where you
> can modify a route at runtime
> http://camel.apache.org/web-console.html
>
> Currently there is a Google Summer of school project in which a person
> is adding groovy editing capabilities to this editor.
> Still work in progress.
>
> And the JMX side will be improved as well in 2.x. At first management
> and monitoring though.
>
>
>
>>
>> Claus Ibsen-2 wrote:
>>>
>>> Hi
>>>
>>> The package scan uses class loading and classloaders in J2EE servers
>>> is "a nightmare".
>>>
>>> There have been some JBoss people creating a Camel plugin that allows
>>> it to use JBoss specific classloading.
>>> http://codeandtell.wordpress.com/2009/03/03/apache-camel-jboss-5-spring/
>>>
>>> So I guess its the problem.
>>>
>>> You cold try without the <package> and see if Camel can be loaded in
>>> jboss and do a basic routing
>>>
>>> <route>
>>> <from uri="timer://foo?period=1000"/>
>>> <to uri="log:foo?level=WARN"/>
>>> </route>
>>>
>>>
>>>
>>> On Fri, Jul 10, 2009 at 12:19 PM, chu_man_fu<[email protected]> wrote:
>>>>
>>>> I have Camel working great in ActiveMQ intergated into JBoss but only
>>>> by
>>>> modifying my activemq.xml file:
>>>>
>>>> <camelContext id="camel"
>>>> xmlns="http://activemq.apache.org/camel/schema/spring">
>>>> <package>my.package.name</package>
>>>> <route>
>>>> <from uri="activemq:Q1"/>
>>>> <from uri="activemq:Q2"/>
>>>> </route>
>>>> </camelContext>
>>>> <bean id="activemq"
>>>> class="org.apache.activemq.camel.component.ActiveMQComponent" >
>>>> <property name="connectionFactory">
>>>> <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>>>> <property name="brokerURL"
>>>> value="vm://localhost?create=false&waitForStart=10000" />
>>>> <property name="userName" value="${activemq.username}"/>
>>>> <property name="password" value="${activemq.password}"/>
>>>> </bean>
>>>> </property>
>>>> </bean>
>>>>
>>>> How do I get camel to use package: <package>my.package.name</package>?
>>>> I have created a package which that name but I don't know where to put
>>>> it
>>>> or
>>>> how I tell camel to look at it. I am not sure where the camel context
>>>> is
>>>> started, I am guess via the ActiveMQComponent bean.
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Camel-with-intergated-ActiveMQ-Web-Console-and-JBoss-tp24424870p24424870.html
>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Camel-with-intergated-ActiveMQ-Web-Console-and-JBoss-tp24424870p24425350.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
--
View this message in context:
http://www.nabble.com/Camel-with-intergated-ActiveMQ-Web-Console-and-JBoss-tp24424870p24428158.html
Sent from the Camel - Users mailing list archive at Nabble.com.