Title: [943] trunk/servicemix-jsr181/src/test/resources: Jsr181 component can now be used in a lightweight way (using xbean config)
Revision
943
Author
gnt
Date
2005-11-25 07:53:36 -0500 (Fri, 25 Nov 2005)

Log Message

Jsr181 component can now be used in  a lightweight way (using xbean config)

Modified Paths

Added Paths

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>

Reply via email to