We have Servicemix 3.0.1 running as a WAR file under Weblogic 9.2. The servicemix-web example that is provided with servicemix is the place that you should start at (see http://servicemix.org/site/war-deployment.html). Sadly, with Weblogic, this will not deploy as-is.
The first problem that we ran into was classpath problems; in particular conflicts that relate to classes that weblogic includes in its weblogic.jar (these include annotations that the jsr181 component wants to use). For these conflicts, we had to exclude jars from our pom and we end up using whatever weblogic wants. For other jars, adding in a weblogic.xml file in the WEB-INF directory that looks like this will suffice: <?xml version="1.0" encoding="UTF-8"?> <weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app> Next, we had to alter the application.xml file so that it defined the servicemix-http component in a different way than the normal xbean syntax (it looks more like regular spring syntax). Without this syntax, the http component was not responding from within Weblogic (ex. localhost:7001/something), it was instead responding from a jetty server that it started on its own (ex. localhost:8192/something) <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:sm="http://servicemix.apache.org/config/1.0" xmlns:http="http://servicemix.apache.org/http/1.0" xmlns:my="http://servicemix.apache.org/demo/" xmlns:foo="http://servicemix.apache.org/demo/"> <!-- the JBI container --> <sm:container id="jbi" rootDir="root_dir" useMBeanServer="true" createMBeanServer="false" installationDirPath="installation_dir" deploymentDirPath="deployment_dir" monitorDeploymentDirectory="true" monitorInstallationDirectory="true" dumpStats="true" statsInterval="10"> <sm:activationSpecs> <sm:activationSpec componentName="servicemix-http" component="#servicemix-http" depends-on="config"/> </sm:activationSpecs> </sm:container> <bean id="servicemix-http" class="org.apache.servicemix.http.HttpComponent"/> <bean id="lf" factory-bean="servicemix-http" factory-method="getLifeCycle"/> <bean id="config" factory-bean="lf" factory-method="getConfiguration"> <property name="managed" value="true"/> </bean> </beans> Finally, we excluded the mention of the activemq.xml file from the web.xml and deployed the war to weblogic. You can now deploy components and service-assemblies to this servicemix container in one of two ways: 1) put the componenets you want to deploy into the installation_dir and service-assemblies into the deployment_dir where servicemix has now created them 2) use the jbi plugin to deploy them (ex. mvn jbi:projectDeploy ). I hope this helps! -Andeep -----Original Message----- From: cgallemore [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 03, 2007 4:30 PM To: [email protected] Subject: Deploying ServiceMix as WAR to Weblogic Hi, We are looking to deploy ServiceMix as a war to Weblogic 9.2, and I'm having trouble locating any documentation on how to package ServiceMix as a war. Any help in guiding me in the right direction would be greatly appreciated. Also, we are looking to utilize weblogic's JMS bus as the NMR, is their documentation on how to configure ServiceMix to utilize an external JMS bus. One last question is it possible to deploy the SA's we have created to ServiceMix once we have it deployed to Weblogic. Thanks in advance. -- View this message in context: http://www.nabble.com/Deploying-ServiceMix-as-WAR-to-Weblogic-tf2916104s12049.html#a8149071 Sent from the ServiceMix - User mailing list archive at Nabble.com.
