Guillaume, Do I need to install the lwcontainer, or is that optional, for the scenario described below?
thanks! /jonathan p.s. - I looked for you at ApacheCon, but couldn't ever seem to find you. I wanted to thank you in person for all of your help! /jonathan > -----Original Message----- > From: Guillaume Nodet [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 13, 2005 11:59 AM > To: [email protected] > Subject: Re: [servicemix-user] How to hot-deploy components within > ServiceMix > > > The way to deploy a servicemix.xml file on an existing is not yet > document. Here are the steps to proceed (with svn head). > > o in the servicemix-lwcontainer directory, run "maven > jbi:install". > This should generate in the target\directory, a file named > servicemix-lwcontainer-installer-2.1-SNAPSHOT.zip. This is a jbi > component that can be installed in a jbi container using > by copying it in the install directory which is monitored > > o modify your servicemix.xml file to change the > "container" tag to a > "serviceunit" > > o put your servicemix.xml in a zip (which will be a service unit) > > o create a service assembly descriptor like this one, and zip it > along with your service unit > > > <jbi xmlns="http://java.sun.com/xml/ns/jbi" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/jbi" > version="1.0"> > > <service-assembly> > <identification> > <name>AU_1</name> > <description>Sample AU</description> > </identification> > <service-unit> > <identification> > <name>SU_1</name> > <description>Sample</description> > </identification> > <target> > <artifacts-zip>su1.zip</artifacts-zip> > <component-name>servicemix-lwcontainer</component-name> > </target> > </service-unit> > </service-assembly> > > </jbi> > > > o drop your service assembly in the deploy directory of the > servicemix container > > These steps are covered in > http://docs.codehaus.org/display/SM/Geronimo+Integration#Geron > imoIntegration-DeployingJBIComponents > but this doc is not up-to-date yet. > This is still work in progress, so do not hesitate to ask if you have > any problems. > > Cheers, > > Guillaume Nodet > > [EMAIL PROTECTED] wrote: > > > Below is the current servicemix.xml that I have working for > a simple > > example. Everything functions properly, but I'd like to extract the > > various activationSpec components from the servicemix.xml file and > > create something like a service assembly (I might be using > the wrong > > terminology here) so that I can hot deploy these components > to the JBI > > container. I can't tell from any of the examples a good way that I > > might achieve this. It seems like all I have to do is create a .zip > > file that contains all of my configuration files, and > another jbi.xml > > file that defines my components, but none of the examples > illustrate > > how to do this with something like the ChainedComponent or > > XsltComponent. Any help would be greatly appreciated. > > > > <?xml version="1.0" encoding="UTF-8"?> > > <beans xmlns="http://xbean.org/schemas/spring/1.0" > > xmlns:spring="http://xbean.org/schemas/spring/1.0" > > xmlns:sm="http://servicemix.org/config/1.0" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://xbean.org/schemas/spring/1.0 > > /opt/apps/servicemix/current/conf/spring-beans.xsd > > > <http://xbean.org/schemas/spring/1.0/opt/apps/servicemix/curre > nt/conf/spring-beans.xsd> > > http://servicemix.org/config/1.0 > > /opt/apps/servicemix/current/conf/servicemix.xsd > > > <http://servicemix.org/config/1.0/opt/apps/servicemix/current/ > conf/servicemix.xsd>" > > xmlns:foo="http://servicemix.org/demo/"> > > > > <!-- the JBI container --> > > <sm:container > > spring:id="jbi" > > name="bus_2" > > useMBeanServer="true" > > createMBeanServer="true" > > monitorInstallationDirectory="false" > > dumpStats="true" > > statsInterval="10" > > > > > flowName="jms?jmsURL=reliable:(tcp://uscobrmfa-ad-98:61616,tcp > ://uscobrmfa-ad-99:61616)" > > transactionManager="#transactionManager" > > rmiPort="5099"> > > > > > > <sm:activationSpecs> > > <!-- Create a http server binding on port 8914 and have it > > forward to the foo:chain --> > > <sm:activationSpec componentName="httpReceiver" > > service="foo:httpReceiver" > > endpoint="httpReceiver" > > destinationService="foo:chain"> > > <sm:component> > > <bean xmlns="http://xbean.org/schemas/spring/1.0" > > class="org.servicemix.components.http.HttpConnector"> > > <property name="host" value="10.128.1.211 > > <http://10.128.1.211>"/> > > <property name="port" value="8914"/> > > <property name="defaultInOut" value="true"/> > > </bean> > > </sm:component> > > </sm:activationSpec> > > > > <!-- Lets create a message router --> > > <sm:activationSpec componentName="chain" service="foo:chain"> > > <sm:component> > > <bean xmlns="" > > class="org.servicemix.components.util.ChainedComponent"> > > <property name="services"> > > <list> > > <bean class="javax.xml.namespace.QName"> > > <constructor-arg > value="http://servicemix.org/demo/" /> > > <constructor-arg value="soapExtractor" /> > > </bean> > > > > <bean class="javax.xml.namespace.QName"> > > <constructor-arg > value="http://servicemix.org/demo/" /> > > <constructor-arg value="getPerson" /> > > </bean> > > > > <bean class="javax.xml.namespace.QName"> > > <constructor-arg > value="http://servicemix.org/demo/" /> > > <constructor-arg value="soapExtractor" /> > > </bean> > > > > <bean class="javax.xml.namespace.QName"> > > <constructor-arg > value="http://servicemix.org/demo/" /> > > <constructor-arg value="soapInjector" /> > > </bean> > > > > </list> > > </property> > > </bean> > > </sm:component> > > </sm:activationSpec> > > > > <!-- Provide a service to strip SOAP headers --> > > <sm:activationSpec componentName="soapExtractor" > > service="foo:soapExtractor"> > > <sm:component> > > <bean xmlns="http://xbean.org/schemas/spring/1.0" > > class="org.servicemix.components.xslt.XsltComponent"> > > <property name="xsltResource" > value="SoapExtractor.xsl"/> > > </bean> > > </sm:component> > > </sm:activationSpec> > > > > <!-- Provide a service to add SOAP headers --> > > <sm:activationSpec componentName="soapInjector" > > service="foo:soapInjector"> > > <sm:component> > > <bean xmlns="http://xbean.org/schemas/spring/1.0" > > class="org.servicemix.components.xslt.XsltComponent"> > > <property name="xsltResource" value="SoapInjector.xsl"/> > > </bean> > > </sm:component> > > </sm:activationSpec> > > > > <!-- This just invokes a SOAP web service --> > > <sm:activationSpec componentName="getPerson" > > service="foo:getPerson" > > endpoint="getPerson"> > > <sm:component> > > <bean xmlns="http://xbean.org/schemas/spring/1.0" > > class="org.servicemix.components.saaj.SaajBinding"> > > <property name="soapEndpoint"> > > <bean class="javax.xml.messaging.URLEndpoint"> > > <constructor-arg > > > value="http://10.128.1.211:8080/systinet/server/CexpObjectTest > /CexpObjectTest/"/ > > <http://10.128.1.211:8080/systinet/server/CexpObjectTest/CexpObjectTest/%22/ >> > </bean> > </property> > </bean> > </sm:component> > </sm:activationSpec> > </sm:activationSpecs> > </sm:container> > > <bean id="transactionContextManager" > class="org.jencks.factory.TransactionContextManagerFactoryBean"/> > > <bean id="transactionManager" > class="org.jencks.factory.GeronimoTransactionManagerFactoryBean" /> > > </beans>
