[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