You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/08/01 21:10:50 UTC
svn commit: r681784 - in
/servicemix/components/engines/servicemix-drools/trunk: ./
src/main/java/org/apache/servicemix/drools/
src/main/java/org/apache/servicemix/drools/model/
src/main/resources/META-INF/ src/main/resources/META-INF/spring/
Author: gnodet
Date: Fri Aug 1 12:10:49 2008
New Revision: 681784
URL: http://svn.apache.org/viewvc?rev=681784&view=rev
Log:
SM-1387: make servicemix-drools OSGi friendly
Added:
servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/
servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/spring/
servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/spring/servicemix-drools.xml
Modified:
servicemix/components/engines/servicemix-drools/trunk/pom.xml
servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/DroolsEndpoint.java
servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java
Modified: servicemix/components/engines/servicemix-drools/trunk/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-drools/trunk/pom.xml?rev=681784&r1=681783&r2=681784&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-drools/trunk/pom.xml (original)
+++ servicemix/components/engines/servicemix-drools/trunk/pom.xml Fri Aug 1 12:10:49 2008
@@ -44,6 +44,19 @@
<servicemix-shared-version>4.0-SNAPSHOT</servicemix-shared-version>
<drools-version>4.0.7</drools-version>
+
+ <servicemix.osgi.import>
+ org.apache.servicemix.common,
+ org.apache.servicemix.common.osgi,
+ org.apache.servicemix.executors.impl,
+ org.apache.xbean.spring.context.v2,
+ org.springframework.beans.factory.xml,
+ *
+ </servicemix.osgi.import>
+ <servicemix.osgi.export>
+ org.apache.servicemix.drools*;version=${project.version},
+ META-INF.services.org.apache.xbean.spring.http.servicemix.apache.org.drools
+ </servicemix.osgi.export>
</properties>
<dependencies>
Modified: servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/DroolsEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/DroolsEndpoint.java?rev=681784&r1=681783&r2=681784&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/DroolsEndpoint.java (original)
+++ servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/DroolsEndpoint.java Fri Aug 1 12:10:49 2008
@@ -199,7 +199,6 @@
protected WorkingMemory createWorkingMemory(MessageExchange exchange) throws Exception {
return ruleBase.newStatefulSession();
- //return ruleBase.newWorkingMemory();
}
protected void populateWorkingMemory(WorkingMemory memory, MessageExchange exchange) throws Exception {
Modified: servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java?rev=681784&r1=681783&r2=681784&view=diff
==============================================================================
--- servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java (original)
+++ servicemix/components/engines/servicemix-drools/trunk/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java Fri Aug 1 12:10:49 2008
@@ -28,15 +28,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.servicemix.JbiConstants;
-import org.apache.servicemix.client.ServiceMixClient;
-import org.apache.servicemix.client.ServiceMixClientFacade;
import org.apache.servicemix.common.EndpointSupport;
+import org.apache.servicemix.common.JbiConstants;
+import org.apache.servicemix.common.util.MessageUtil;
+import org.apache.servicemix.common.util.URIResolver;
import org.apache.servicemix.drools.DroolsEndpoint;
import org.apache.servicemix.jbi.jaxp.SourceTransformer;
import org.apache.servicemix.jbi.jaxp.StringSource;
-import org.apache.servicemix.jbi.resolver.URIResolver;
-import org.apache.servicemix.jbi.util.MessageUtil;
import org.drools.FactHandle;
import org.drools.WorkingMemory;
@@ -58,7 +56,6 @@
this.endpoint = endpoint;
this.exchange = new Exchange(exchange, endpoint.getNamespaceContext());
this.memory = memory;
- //this.exchangeFactHandle = this.memory.assertObject(this.exchange);
this.exchangeFactHandle = this.memory.insert(this.exchange);
}
@@ -74,10 +71,6 @@
return getContext().getDeliveryChannel();
}
- public ServiceMixClient getClient() {
- return new ServiceMixClientFacade(getContext());
- }
-
public Exchange getExchange() {
return exchange;
}
@@ -87,23 +80,10 @@
}
/**
- * Forwards the inbound message to the given
+ * Forwards the inbound message to the given target
*
* @param uri
- * @param localPart
*/
- /*
- public void forward(String uri) throws MessagingException {
- if (exchange instanceof InOnly || exchange instanceof RobustInOnly) {
- MessageExchange me = getChannel().createExchangeFactory().createExchange(exchange.getPattern());
- URIResolver.configureExchange(me, getContext(), uri);
- MessageUtil.transferToIn(in, me);
- getChannel().sendSync(me);
- } else {
- throw new MessagingException("Only InOnly and RobustInOnly exchanges can be forwarded");
- }
- }
- */
public void route(String uri) throws MessagingException {
Source src = null;
routeTo(src, uri);
@@ -204,7 +184,6 @@
}
protected void update() {
- // this.memory.modifyObject(this.exchangeFactHandle, this.exchange);
this.memory.update(this.exchangeFactHandle, this.exchange);
}
Added: servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/spring/servicemix-drools.xml
URL: http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/spring/servicemix-drools.xml?rev=681784&view=auto
==============================================================================
--- servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/spring/servicemix-drools.xml (added)
+++ servicemix/components/engines/servicemix-drools/trunk/src/main/resources/META-INF/spring/servicemix-drools.xml Fri Aug 1 12:10:49 2008
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You 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.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:osgi="http://www.springframework.org/schema/osgi"
+ xmlns:osgix="http://www.springframework.org/schema/osgi-compendium"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/osgi-compendium
+ http://www.springframework.org/schema/osgi-compendium/spring-osgi-compendium.xsd">
+
+ <bean id="servicemix-drools" class="org.apache.servicemix.drools.DroolsComponent">
+ <property name="executorFactory" ref="executorFactory" />
+ </bean>
+
+ <bean id="executorFactory" class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
+ <property name="defaultConfig">
+ <bean class="org.apache.servicemix.executors.impl.ExecutorConfig">
+ <property name="corePoolSize" value="${threadPoolCorePoolSize}"/>
+ <property name="maximumPoolSize" value="${threadPoolMaximumPoolSize}"/>
+ <property name="queueSize" value="${threadPoolQueueSize}"/>
+ </bean>
+ </property>
+ </bean>
+
+ <bean id="endpoint-tracker" class="org.apache.servicemix.common.osgi.EndpointTracker">
+ <property name="component" ref="servicemix-drools" />
+ </bean>
+
+ <osgi:list id="endpoints"
+ interface="org.apache.servicemix.common.osgi.EndpointWrapper"
+ cardinality="0..N">
+ <osgi:listener ref="endpoint-tracker" bind-method="register" unbind-method="unregister" />
+ </osgi:list>
+
+ <osgi:service ref="servicemix-drools" interface="javax.jbi.component.Component">
+ <osgi:service-properties>
+ <entry key="NAME" value="servicemix-drools" />
+ <entry key="TYPE" value="service-engine" />
+ </osgi:service-properties>
+ </osgi:service>
+
+ <osgix:property-placeholder persistent-id="servicemix-drools">
+ <osgix:default-properties>
+ <prop key="threadPoolCorePoolSize">8</prop>
+ <prop key="threadPoolMaximumPoolSize">32</prop>
+ <prop key="threadPoolQueueSize">256</prop>
+ </osgix:default-properties>
+ </osgix:property-placeholder>
+
+</beans>