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.

Reply via email to