[jboss-svn-commits] JBL Code SVN: r34527 - in labs/jbossrules/branches/5_1_20100802_esteban_diega: drools-process and 21 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Aug 4 20:55:21 EDT 2010


Author: lucazamador
Date: 2010-08-04 20:55:20 -0400 (Wed, 04 Aug 2010)
New Revision: 34527

Added:
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/pom.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/Message.java
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/TimerMessage.java
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/InsertScheduledTimerMessage.java
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/RemoveScheduledTimerMessage.java
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/pom.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/resources/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/resources/log4j.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/ProcessTimerQuartzPersistenceStrategy.java
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/SchedulerConnector.java
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/impl/
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/impl/HornetQSchedulerConnector.java
Modified:
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-communication/pom.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/pom.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/pom.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/pom.xml
   labs/jbossrules/branches/5_1_20100802_esteban_diega/pom.xml
Log:
added modules in main pom. QuartzPersistenceStrategy created. timer-scheduler initial structure

Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-communication/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-communication/pom.xml	2010-08-04 22:52:04 UTC (rev 34526)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-communication/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -3,7 +3,7 @@
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
-    <artifactId>drools</artifactId>
+    <artifactId>drools-persistent-timer</artifactId>
     <groupId>org.drools</groupId>
     <version>5.1.0</version>
   </parent>
@@ -71,7 +71,6 @@
   
   <properties>
 	 <hornetq.version>2.0.0.GA</hornetq.version>
-	 <spring.version>3.0.2.RELEASE</spring.version>
   </properties>
 
 </project>


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages
___________________________________________________________________
Name: svn:ignore
   + target
.settings
.classpath
.project


Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>drools-persistent-timer</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.1.0</version>
+  </parent>
+  <artifactId>drools-timer-messages</artifactId>
+  <packaging>jar</packaging>
+  <name>Drools :: Timers :: Messages</name>
+
+</project>


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/pom.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/Message.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/Message.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/Message.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,7 @@
+package org.drools.timer.message;
+
+import java.io.Serializable;
+
+public interface Message extends Serializable {
+
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/Message.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/TimerMessage.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/TimerMessage.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/TimerMessage.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,18 @@
+package org.drools.timer.message;
+
+public abstract class TimerMessage implements Message {
+
+	private static final long serialVersionUID = 1L;
+
+	private Long processInstanceId;
+
+	public Long getProcessInstanceId() {
+		return processInstanceId;
+	}
+
+	public void setProcessInstanceId(Long processInstanceId) {
+		this.processInstanceId = processInstanceId;
+	}
+
+
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/TimerMessage.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/InsertScheduledTimerMessage.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/InsertScheduledTimerMessage.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/InsertScheduledTimerMessage.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,21 @@
+package org.drools.timer.message.impl;
+
+import java.util.Date;
+
+import org.drools.timer.message.TimerMessage;
+
+public class InsertScheduledTimerMessage extends TimerMessage {
+
+	private static final long serialVersionUID = 1L;
+
+	private Date activationTime;
+
+	public void setActivationTime(Date activationTime) {
+		this.activationTime = activationTime;
+	}
+
+	public Date getActivationTime() {
+		return activationTime;
+	}
+
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/InsertScheduledTimerMessage.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/RemoveScheduledTimerMessage.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/RemoveScheduledTimerMessage.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/RemoveScheduledTimerMessage.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,9 @@
+package org.drools.timer.message.impl;
+
+import org.drools.timer.message.TimerMessage;
+
+public class RemoveScheduledTimerMessage extends TimerMessage {
+
+	private static final long serialVersionUID = 1L;
+
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-messages/src/main/java/org/drools/timer/message/impl/RemoveScheduledTimerMessage.java
___________________________________________________________________
Name: svn:eol-style
   + native


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler
___________________________________________________________________
Name: svn:ignore
   + .settings
target
.classpath
.project


Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/pom.xml	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>drools-persistent-timer</artifactId>
+    <groupId>org.drools</groupId>
+    <version>5.1.0</version>
+  </parent>
+  <artifactId>drools-timer-scheduler</artifactId>
+  <packaging>jar</packaging>
+  <name>Drools :: Timers :: Scheduler</name>
+  
+  <dependencies>
+    <dependency>
+      <groupId>org.drools</groupId>
+      <artifactId>drools-timer-communication</artifactId>
+      <version>5.1.0</version>
+    </dependency>
+    
+    <!-- Spring Dependencies -->
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-core</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-beans</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.springframework</groupId>
+      <artifactId>spring-context</artifactId>
+      <version>${spring.version}</version>
+    </dependency>
+    
+    <!-- SL4J dependencies -->
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.5.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.4.2</version>
+      <scope>runtime</scope>
+    </dependency>
+    
+    <!-- test dependencies -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.8.1</version>
+      <scope>test</scope>
+    </dependency>
+    
+  </dependencies>
+  
+</project>


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/pom.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/resources/log4j.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/resources/log4j.xml	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/resources/log4j.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<!-- $Id: log4j.xml,v 1.8 2006/04/26 17:29:10 gavin Exp $ -->
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<param name="Target" value="System.out"/>
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) \t %m%n"/>
+		</layout>
+	</appender>
+	<logger name="org.drools">
+		<level value="DEBUG"/>
+	</logger>
+	<root>
+		<priority value="ERROR"/>
+		<appender-ref ref="CONSOLE"/>
+	</root>
+</log4j:configuration>


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-scheduler/src/main/resources/log4j.xml
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/pom.xml	2010-08-04 22:52:04 UTC (rev 34526)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -12,9 +12,14 @@
   <name>Drools :: Persistent Timer</name>
 
   <modules>
+    <module>drools-timer-messages</module>
     <module>drools-timer-communication</module>
-    <!--module>drools-timer-scheduler</module-->
+    <module>drools-timer-scheduler</module>
     <!--module>drools-timer-executor</module-->
   </modules>
+  
+  <properties>
+    <spring.version>3.0.2.RELEASE</spring.version>
+  </properties>
 
 </project>

Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/pom.xml	2010-08-04 22:52:04 UTC (rev 34526)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -40,16 +40,23 @@
          <artifactId>drools-workitems</artifactId>
       </dependency>
       <dependency>
+         <groupId>org.drools</groupId>
+         <artifactId>drools-timer-messages</artifactId>
+         <version>5.1.0</version>
+      </dependency>
+      <dependency>
          <groupId>org.apache.mina</groupId>
          <artifactId>mina-core</artifactId>
       </dependency>
       <dependency>
          <groupId>org.hornetq</groupId>
          <artifactId>hornetq-core</artifactId>
+         <version>2.0.0.GA</version>
       </dependency>
       <dependency>
          <groupId>org.hornetq</groupId>
          <artifactId>hornetq-transports</artifactId>
+         <version>2.0.0.GA</version>
       </dependency>
       <dependency>
          <groupId>org.jboss.netty</groupId>

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/ProcessTimerQuartzPersistenceStrategy.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/ProcessTimerQuartzPersistenceStrategy.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/ProcessTimerQuartzPersistenceStrategy.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,27 @@
+package org.drools.time.strategy;
+
+import org.drools.process.instance.timer.TimerManager.ProcessJobContext;
+import org.drools.time.ProcessTimerPersistenceStrategy;
+import org.drools.time.impl.IntervalTrigger;
+import org.drools.time.impl.ProcessJobHandle;
+import org.drools.time.strategy.connector.SchedulerConnector;
+import org.drools.time.strategy.connector.impl.HornetQSchedulerConnector;
+
+public class ProcessTimerQuartzPersistenceStrategy implements ProcessTimerPersistenceStrategy {
+
+	private final SchedulerConnector connector;
+
+	public ProcessTimerQuartzPersistenceStrategy(String address, Integer port) throws Exception {
+		connector = new HornetQSchedulerConnector(address, port);
+		connector.connect();
+	}
+
+	public void save(ProcessJobContext processContext, IntervalTrigger intervalTrigger) {
+		connector.send(processContext);
+		// Create record in DB
+	}
+
+	public boolean remove(ProcessJobHandle jobHandle) {
+		return false;
+	}
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/ProcessTimerQuartzPersistenceStrategy.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/SchedulerConnector.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/SchedulerConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/SchedulerConnector.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,11 @@
+package org.drools.time.strategy.connector;
+
+import org.drools.process.instance.timer.TimerManager.ProcessJobContext;
+
+public interface SchedulerConnector {
+
+	public void connect() throws Exception;
+	public void disconnect() throws Exception;
+	public void send(ProcessJobContext processContext);
+
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/SchedulerConnector.java
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/impl/HornetQSchedulerConnector.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/impl/HornetQSchedulerConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/impl/HornetQSchedulerConnector.java	2010-08-05 00:55:20 UTC (rev 34527)
@@ -0,0 +1,78 @@
+package org.drools.time.strategy.connector.impl;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.drools.process.instance.timer.TimerManager.ProcessJobContext;
+import org.drools.task.service.hornetq.HornetQTaskServer;
+import org.drools.time.strategy.connector.SchedulerConnector;
+import org.drools.timer.message.impl.InsertScheduledTimerMessage;
+import org.hornetq.api.core.HornetQException;
+import org.hornetq.api.core.TransportConfiguration;
+import org.hornetq.api.core.client.ClientMessage;
+import org.hornetq.api.core.client.ClientProducer;
+import org.hornetq.api.core.client.ClientSession;
+import org.hornetq.api.core.client.ClientSessionFactory;
+import org.hornetq.api.core.client.HornetQClient;
+import org.hornetq.integration.transports.netty.NettyConnectorFactory;
+import org.hornetq.integration.transports.netty.TransportConstants;
+
+public class HornetQSchedulerConnector implements SchedulerConnector {
+
+	private ClientSession session;
+	private ClientProducer producer;
+	private Integer port;
+	private String address;
+
+	public HornetQSchedulerConnector(String address, Integer port) {
+		if (address==null) {
+			throw new IllegalArgumentException("address is a required argument");
+		}
+		if (port==null) {
+			throw new IllegalArgumentException("port is a required argument");
+		}
+		this.address = address;
+		this.port = port;
+	}
+
+	public void connect() throws HornetQException {
+		Map<String, Object> connectionParams = new HashMap<String, Object>();
+		connectionParams.put(TransportConstants.PORT_PROP_NAME, port);
+		connectionParams.put(TransportConstants.HOST_PROP_NAME, address);
+		TransportConfiguration transportConfiguration = new TransportConfiguration(NettyConnectorFactory.class.getCanonicalName(), connectionParams);
+		ClientSessionFactory factory = HornetQClient.createClientSessionFactory(transportConfiguration);
+		session = factory.createSession();
+		producer = session.createProducer(HornetQTaskServer.SERVER_TASK_COMMANDS_QUEUE);
+		session.start();
+	}
+
+	public void disconnect() throws Exception {
+		if (session!= null && !session.isClosed()) {
+			session.close();
+			producer.close();
+		}
+	}
+
+	public void send(ProcessJobContext processContext) {
+		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+		ObjectOutputStream oout;
+		try {
+			oout = new ObjectOutputStream(baos);
+			InsertScheduledTimerMessage insertTimerMessage = new InsertScheduledTimerMessage();
+			insertTimerMessage.setProcessInstanceId(processContext.getProcessInstanceId());
+			insertTimerMessage.setActivationTime(processContext.getTimer().getActivated());
+			oout.writeObject(insertTimerMessage);
+			ClientMessage message = session.createMessage(true);
+			message.getBodyBuffer().writeBytes(baos.toByteArray());
+			producer.send(message);
+		} catch (IOException e) {
+			throw new RuntimeException("Error creating message", e);
+		} catch (HornetQException e) {
+			throw new RuntimeException("Error writing message", e);
+		}
+	}
+
+}


Property changes on: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-process-task/src/main/java/org/drools/time/strategy/connector/impl/HornetQSchedulerConnector.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/pom.xml	2010-08-04 22:52:04 UTC (rev 34526)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -37,6 +37,7 @@
       <module>drools-gwt-graph</module>
       <module>drools-gwt-war</module>
       <module>drools-gwt-server-war</module>
+      <module>drools-persistent-timer</module>
   </modules>
   
 </project>

Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/pom.xml
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/pom.xml	2010-08-04 22:52:04 UTC (rev 34526)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/pom.xml	2010-08-05 00:55:20 UTC (rev 34527)
@@ -1023,6 +1023,22 @@
             <artifactId>drools-ide-common</artifactId>
             <version>${project.version}</version>
          </dependency>
+         <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-timer-messages</artifactId>
+            <version>${project.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-timer-scheduler</artifactId>
+            <version>${project.version}</version>
+         </dependency>
+         <dependency>
+            <groupId>org.drools</groupId>
+            <artifactId>drools-timer-communication</artifactId>
+            <version>${project.version}</version>
+         </dependency>
+         
       <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>



More information about the jboss-svn-commits mailing list