Diff
Modified: trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181Endpoint.java (942 => 943)
--- trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181Endpoint.java 2005-11-25 12:05:27 UTC (rev 942)
+++ trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181Endpoint.java 2005-11-25 12:53:36 UTC (rev 943)
@@ -154,7 +154,7 @@
Method mth = pojo.getClass().getMethod("setContext", new Class[] { ComponentContext.class });
mth.invoke(pojo, new Object[] { context });
} catch (Exception e) {
- logger.debug("Unable to inject ComponentContext", e);
+ logger.debug("Unable to inject ComponentContext: " + e.getMessage());
}
}
Modified: trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181LifeCycle.java (942 => 943)
--- trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181LifeCycle.java 2005-11-25 12:05:27 UTC (rev 942)
+++ trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181LifeCycle.java 2005-11-25 12:53:36 UTC (rev 943)
@@ -41,6 +41,7 @@
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.transport.Channel;
import org.codehaus.xfire.transport.Transport;
+import org.servicemix.common.BaseComponent;
import org.servicemix.common.BaseLifeCycle;
import org.servicemix.common.Endpoint;
import org.servicemix.jbi.jaxp.BytesSource;
@@ -50,7 +51,7 @@
protected XFire xfire;
- public Jsr181LifeCycle(Jsr181Component component) {
+ public Jsr181LifeCycle(BaseComponent component) {
super(component);
}
Added: trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181SpringComponent.java (942 => 943)
--- trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181SpringComponent.java 2005-11-25 12:05:27 UTC (rev 942)
+++ trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181SpringComponent.java 2005-11-25 12:53:36 UTC (rev 943)
@@ -0,0 +1,98 @@
+/**
+ *
+ * Copyright 2005 LogicBlaze, Inc. http://www.logicblaze.com
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ **/
+package org.servicemix.jsr181;
+
+import org.servicemix.common.BaseComponent;
+import org.servicemix.common.BaseLifeCycle;
+import org.servicemix.common.ServiceUnit;
+
+/**
+ *
+ * @author gnodet
+ * @version $Revision: 908 $
+ * @org.xbean.XBean element="component"
+ * description="A jsr181 component"
+ */
+public class Jsr181SpringComponent extends BaseComponent {
+
+ private Jsr181Endpoint[] endpoints;
+
+ /* (non-Javadoc)
+ * @see org.servicemix.common.BaseComponent#createLifeCycle()
+ */
+ protected BaseLifeCycle createLifeCycle() {
+ return new LifeCycle();
+ }
+
+ public Jsr181Endpoint[] getEndpoints() {
+ return endpoints;
+ }
+
+ public void setEndpoints(Jsr181Endpoint[] endpoints) {
+ this.endpoints = endpoints;
+ }
+
+ public class LifeCycle extends Jsr181LifeCycle {
+
+ protected ServiceUnit su;
+
+ public LifeCycle() {
+ super(Jsr181SpringComponent.this);
+ }
+
+ /* (non-Javadoc)
+ * @see org.servicemix.common.BaseLifeCycle#doInit()
+ */
+ protected void doInit() throws Exception {
+ super.doInit();
+ su = new ServiceUnit();
+ su.setComponent(Jsr181SpringComponent.this);
+ for (int i = 0; i < endpoints.length; i++) {
+ endpoints[i].setServiceUnit(su);
+ endpoints[i].registerService();
+ su.addEndpoint(endpoints[i]);
+ }
+ getRegistry().registerServiceUnit(su);
+ }
+
+ /* (non-Javadoc)
+ * @see org.servicemix.common.BaseLifeCycle#doStart()
+ */
+ protected void doStart() throws Exception {
+ super.doStart();
+ su.start();
+ }
+
+ /* (non-Javadoc)
+ * @see org.servicemix.common.BaseLifeCycle#doStop()
+ */
+ protected void doStop() throws Exception {
+ su.stop();
+ super.doStop();
+ }
+
+ /* (non-Javadoc)
+ * @see org.servicemix.common.BaseLifeCycle#doShutDown()
+ */
+ protected void doShutDown() throws Exception {
+ su.shutDown();
+ super.doShutDown();
+ }
+ }
+
+}
Modified: trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181XBeanDeployer.java (942 => 943)
--- trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181XBeanDeployer.java 2005-11-25 12:05:27 UTC (rev 942)
+++ trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181XBeanDeployer.java 2005-11-25 12:53:36 UTC (rev 943)
@@ -17,6 +17,7 @@
**/
package org.servicemix.jsr181;
+import org.servicemix.common.BaseComponent;
import org.servicemix.common.Endpoint;
import org.servicemix.common.xbean.AbstractXBeanDeployer;
@@ -24,7 +25,7 @@
public class Jsr181XBeanDeployer extends AbstractXBeanDeployer {
- public Jsr181XBeanDeployer(Jsr181Component component) {
+ public Jsr181XBeanDeployer(BaseComponent component) {
super(component);
}
Added: trunk/servicemix-jsr181/src/test/java/org/servicemix/jsr181/Jsr181SpringTest.java (942 => 943)
--- trunk/servicemix-jsr181/src/test/java/org/servicemix/jsr181/Jsr181SpringTest.java 2005-11-25 12:05:27 UTC (rev 942)
+++ trunk/servicemix-jsr181/src/test/java/org/servicemix/jsr181/Jsr181SpringTest.java 2005-11-25 12:53:36 UTC (rev 943)
@@ -0,0 +1,53 @@
+/**
+ *
+ * Copyright 2005 LogicBlaze, Inc. http://www.logicblaze.com
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ **/
+package org.servicemix.jsr181;
+
+import javax.jbi.messaging.InOut;
+import javax.xml.namespace.QName;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.servicemix.client.DefaultServiceMixClient;
+import org.servicemix.jbi.jaxp.SourceTransformer;
+import org.servicemix.jbi.jaxp.StringSource;
+import org.servicemix.tck.SpringTestSupport;
+import org.springframework.context.support.AbstractXmlApplicationContext;
+import org.xbean.spring.context.ClassPathXmlApplicationContext;
+
+public class Jsr181SpringTest extends SpringTestSupport {
+
+ private static Log logger = LogFactory.getLog(Jsr181ComponentTest.class);
+
+ public void test() throws Exception {
+ DefaultServiceMixClient client = new DefaultServiceMixClient(jbi);
+ InOut me = client.createInOutExchange();
+ me.setInterfaceName(new QName("http://test", "EchoService2PortType"));
+ me.getInMessage().setContent(new StringSource("<echo xmlns='http://test'><in0>world</in0></echo>"));
+ client.sendSync(me);
+ if (me.getFault() != null) {
+ logger.info("!!! FAULT !!!!");
+ logger.info(new SourceTransformer().toString(me.getFault().getContent()));
+ }
+ logger.info(new SourceTransformer().toString(me.getOutMessage().getContent()));
+ }
+
+ protected AbstractXmlApplicationContext createBeanFactory() {
+ return new ClassPathXmlApplicationContext("org/servicemix/jsr181/spring.xml");
+ }
+
+}
Added: trunk/servicemix-jsr181/src/test/resources/org/servicemix/jsr181/spring.xml (942 => 943)
--- trunk/servicemix-jsr181/src/test/resources/org/servicemix/jsr181/spring.xml 2005-11-25 12:05:27 UTC (rev 942)
+++ trunk/servicemix-jsr181/src/test/resources/org/servicemix/jsr181/spring.xml 2005-11-25 12:53:36 UTC (rev 943)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns:sm="http://servicemix.org/config/1.0"
+ xmlns:jsr181="http://servicemix.org/jsr181/1.0">
+
+ <!-- the JBI container -->
+ <sm:container id="jbi" embedded="true">
+ <sm:activationSpecs>
+
+ <!-- output using a POJO -->
+ <sm:activationSpec>
+ <sm:component>
+ <jsr181:component>
+ <jsr181:endpoints>
+ <jsr181:endpoint pojo-class="test.EchoService2"
+ annotations="none" />
+ </jsr181:endpoints>
+ </jsr181:component>
+ </sm:component>
+ </sm:activationSpec>
+
+ </sm:activationSpecs>
+ </sm:container>
+
+</beans>