[jboss-svn-commits] JBL Code SVN: r35790 - in labs/jbossrules/trunk: drools-core/src/main/java/org/drools/time/impl and 8 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Oct 28 16:22:56 EDT 2010
Author: salaboy21
Date: 2010-10-28 16:22:54 -0400 (Thu, 28 Oct 2010)
New Revision: 35790
Added:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java
Removed:
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java
Modified:
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java
labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java
labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java
Log:
JBRULES-2746: Drools Grid Impl2
- refactor timerservice into schedulerservice and timerservice
Copied: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java (from rev 35787, labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java)
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java (rev 0)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/SchedulerService.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2010 salaboy.
+ *
+ * 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.
+ * under the License.
+ */
+package org.drools.time;
+
+/**
+ *
+ * @author salaboy
+ */
+public interface SchedulerService {
+
+ /**
+ * Schedule a job for later execution
+ *
+ * @param job
+ * @param ctx
+ * @param trigger
+ *
+ * @return
+ */
+ public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger);
+
+ /**
+ * Remove the job identified by the given job handle from the
+ * scheduled queue
+ *
+ * @param jobHandle the job identity handle
+ *
+ * @return
+ */
+ public boolean removeJob(JobHandle jobHandle);
+}
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/TimerService.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -20,7 +20,7 @@
* An interface for all timer service implementations used in a drools session.
*
*/
-public interface TimerService {
+public interface TimerService extends SchedulerService {
/**
* Returns the current time from the scheduler clock
@@ -30,28 +30,9 @@
*/
public long getCurrentTime();
- /**
- * Schedule a job for later execution
- *
- * @param job
- * @param ctx
- * @param trigger
- *
- * @return
- */
- public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger);
+
/**
- * Remove the job identified by the given job handle from the
- * scheduled queue
- *
- * @param jobHandle the job identity handle
- *
- * @return
- */
- public boolean removeJob(JobHandle jobHandle);
-
- /**
* Shuts the service down
*/
public void shutdown();
Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/time/impl/JDKTimerService.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -16,6 +16,7 @@
package org.drools.time.impl;
+import java.io.Serializable;
import java.util.Date;
import java.util.concurrent.Callable;
import java.util.concurrent.ScheduledFuture;
@@ -161,7 +162,7 @@
public static class JDKJobHandle
implements
- JobHandle {
+ JobHandle{
private static final long serialVersionUID = 510l;
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/GridServiceDescription.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -17,4 +17,6 @@
public Address addAddress(String transport);
public void removeAddress(String transport);
+
+ // public Object getData();
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/impl/GridServiceDescriptionFactory.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -34,9 +34,11 @@
String[] clazzName = serviceId.split(":");
if(clazzName[0].equals("scheduler")){
+ ((GridServiceDescriptionImpl)gsd).setId("org.drools.time.SchedulerService");
gsd.setImplementedClass(Class.forName("org.drools.grid.timer.impl.SchedulerImpl"));
}
if(clazzName[0].equals("schedulerclient")){
+ ((GridServiceDescriptionImpl)gsd).setId("org.drools.time.SchedulerService");
gsd.setImplementedClass(Class.forName("org.drools.grid.timer.impl.SchedulerClient"));
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionClient.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -82,7 +82,19 @@
whitePagesGsd.getId(),
cmd );
}
+
+ public Object getData() {
+ InetSocketAddress[] sockets = (InetSocketAddress[]) ((Address) whitePagesGsd.getAddresses().get( "socket" )).getObject();
+ CommandImpl cmd = new CommandImpl( "GridServiceDescription.getData",
+ null );
+ Object data = (Object) sendMessage( this.conversationManager,
+ sockets,
+ whitePagesGsd.getId(),
+ cmd );
+ return data;
+ }
+
@Override
public boolean equals(Object obj) {
//@TODO: improve equals comparision
@@ -105,15 +117,9 @@
return hash;
}
- public Class getServiceTypeClass() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
- public void setServiceTypeClass(Class clazz) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
+
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionImpl.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -1,7 +1,6 @@
package org.drools.grid.service.directory.impl;
import java.io.Serializable;
-import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.util.Collections;
import java.util.HashMap;
@@ -22,6 +21,8 @@
private Map<String, Address> addresses = new HashMap<String, Address>();
+ //private Object data;
+
public GridServiceDescriptionImpl() {
}
@@ -102,6 +103,10 @@
}
return result;
}
+
+// public Object getData() {
+// return data;
+// }
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/GridServiceDescriptionJpa.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -83,6 +83,17 @@
return this.detached;
}
+// public Object getData() {
+// EntityManager em = this.emf.createEntityManager();
+// em.getTransaction().begin();
+// this.detached = em.find( GridServiceDescriptionImpl.class, this.detached.getId() );
+// Object data = this.detached.getData();
+// em.getTransaction().commit();
+// em.close();
+// return data;
+// }
+
+
@Override
public boolean equals(Object obj) {
//@TODO: improve equals comparision
@@ -100,12 +111,7 @@
return hash;
}
- public Class getServiceTypeClass() {
- throw new UnsupportedOperationException("Not supported yet.");
- }
-
- public void setServiceTypeClass(Class clazz) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
+
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/service/directory/impl/WhitePagesImpl.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -19,7 +19,7 @@
//GridServiceDescription gsd = new GridServiceDescriptionImpl( serviceDescriptionId );
GridServiceDescription gsd = GridServiceDescriptionFactory.newGridServiceDescritpion( serviceDescriptionId );
- this.directory.put( serviceDescriptionId, gsd );
+ this.directory.put(gsd.getId() , gsd );
return gsd;
}
Deleted: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/Scheduler.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -1,34 +0,0 @@
-/*
- * Copyright 2010 salaboy.
- *
- * 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.
- * under the License.
- */
-
-package org.drools.grid.timer;
-
-import org.drools.grid.timer.impl.ScheduledJob;
-
-
-
-
-/**
- *
- * @author salaboy
- */
-public interface Scheduler {
- public String getId();
- public void scheduleJob(ScheduledJob job);
- public void removeJob(String jobId);
-
-}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerConfiguration.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -15,7 +15,7 @@
implements
GridPeerServiceConfiguration {
- public CoreServicesSchedulerConfiguration() {
+ public CoreServicesSchedulerConfiguration() {
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/CoreServicesSchedulerImpl.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -18,8 +18,9 @@
package org.drools.grid.timer.impl;
import org.drools.grid.timer.CoreServicesScheduler;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
+
/**
*
* @author salaboy
@@ -27,15 +28,15 @@
public class CoreServicesSchedulerImpl implements CoreServicesScheduler {
- private Scheduler scheduler;
+ private SchedulerService scheduler;
- public CoreServicesSchedulerImpl(Scheduler scheduler) {
+ public CoreServicesSchedulerImpl(SchedulerService scheduler) {
this.scheduler = scheduler;
}
public void scheduleJob(ScheduledJob job) {
- this.scheduler.scheduleJob(job);
+ this.scheduler.scheduleJob(job.getJob(), job.getJobContext(), job.getTrigger());
}
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerClient.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -31,13 +31,17 @@
import org.drools.grid.io.impl.ConversationManagerImpl;
import org.drools.grid.remote.mina.MinaConnector;
import org.drools.grid.service.directory.Address;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.Job;
+import org.drools.time.JobContext;
+import org.drools.time.JobHandle;
+import org.drools.time.SchedulerService;
+import org.drools.time.Trigger;
/**
*
* @author salaboy
*/
-public class SchedulerClient implements Scheduler,
+public class SchedulerClient implements SchedulerService,
MessageReceiverHandlerFactoryService{
private GridServiceDescription schedulerGsd;
@@ -62,24 +66,13 @@
public void scheduleJob(ScheduledJob job, Serializable addr) {
CommandImpl cmd = new CommandImpl( "Scheduler.scheduleJob",
Arrays.asList( new Object[]{ job } ) );
+
sendMessage( this.conversationManager,
addr,
this.schedulerGsd.getId(),
cmd );
}
- public void scheduleJob(ScheduledJob job) {
- InetSocketAddress[] sockets = (InetSocketAddress[]) ((Address) schedulerGsd.getAddresses().get( "socket" )).getObject();
- CommandImpl cmd = new CommandImpl( "Scheduler.scheduleJob",
- Arrays.asList( new Object[]{ job } ) );
- sendMessage( this.conversationManager,
- sockets,
- this.schedulerGsd.getId(),
- cmd );
- }
-
- public void removeJob(String jobId) {
- throw new UnsupportedOperationException("Not supported yet.");
- }
+
public static Object sendMessage(ConversationManager conversationManager,
Serializable addr,
@@ -132,4 +125,18 @@
return this.id;
}
+ public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger) {
+ InetSocketAddress[] sockets = (InetSocketAddress[]) ((Address) schedulerGsd.getAddresses().get( "socket" )).getObject();
+ CommandImpl cmd = new CommandImpl( "Scheduler.scheduleJob",
+ Arrays.asList( new Object[]{ new ScheduledJob(new UuidJobHandle(), job, ctx, trigger, null) } ) );
+ return (UuidJobHandle) sendMessage( this.conversationManager,
+ sockets,
+ this.schedulerGsd.getId(),
+ cmd );
+ }
+
+ public boolean removeJob(JobHandle jobHandle) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerImpl.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -17,23 +17,23 @@
package org.drools.grid.timer.impl;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import org.drools.grid.ServiceFactory;
import org.drools.grid.Grid;
-import org.drools.grid.GridServiceDescription;
import org.drools.grid.MessageReceiverHandlerFactoryService;
import org.drools.grid.io.MessageReceiverHandler;
-import org.drools.grid.service.directory.WhitePages;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.Job;
+import org.drools.time.JobContext;
+import org.drools.time.JobHandle;
+import org.drools.time.SchedulerService;
+
import org.drools.time.TimerService;
+import org.drools.time.Trigger;
import org.drools.time.impl.JDKTimerService;
/**
*
* @author salaboy
*/
-public class SchedulerImpl implements Scheduler, MessageReceiverHandlerFactoryService{
+public class SchedulerImpl implements SchedulerService, MessageReceiverHandlerFactoryService{
private TimerService timer = new JDKTimerService();
private String id;
private Grid grid;
@@ -43,26 +43,6 @@
this.grid = grid;
}
- public void scheduleJob(ScheduledJob job) {
- if(job.getConfiguration().getRedundancy() == 1){
- timer.scheduleJob(job.getJob(), job.getJobContext(), job.getTrigger());
-
- }else if(job.getConfiguration().getRedundancy() > 1){
- WhitePages wp = grid.get(WhitePages.class);
- GridServiceDescription schedservice = wp.lookup(Scheduler.class.getName());
-
- Scheduler sched = ServiceFactory.newServiceInstance(Scheduler.class, schedservice);
- sched.scheduleJob(job);
-
-
- }
-
- }
-
- public void removeJob(String jobId) {
-
- }
-
public MessageReceiverHandler getMessageReceiverHandler() {
return new SchedulerServer(this);
}
@@ -74,6 +54,14 @@
public Grid getGrid() {
return grid;
}
+
+ public JobHandle scheduleJob(Job job, JobContext ctx, Trigger trigger) {
+ return timer.scheduleJob(job, ctx, trigger);
+ }
+
+ public boolean removeJob(JobHandle jobHandle) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerLocalConfiguration.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -7,29 +7,29 @@
import org.drools.grid.GridPeerServiceConfiguration;
import org.drools.grid.impl.GridImpl;
import org.drools.grid.service.directory.WhitePages;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
public class SchedulerLocalConfiguration
implements
GridPeerServiceConfiguration {
- private Scheduler scheduler;
+ private SchedulerService scheduler;
private String id;
public SchedulerLocalConfiguration(String id) {
this.id = id;
}
- public void setScheduler(Scheduler scheduler) {
+ public void setScheduler(SchedulerService scheduler) {
this.scheduler = scheduler;
}
public void configureService(Grid grid) {
WhitePages wp = grid.get(WhitePages.class);
- Scheduler sched = (this.scheduler != null) ? this.scheduler : new SchedulerImpl(this.id, grid);
- ((GridImpl) grid).addService( Scheduler.class,
+ SchedulerService sched = (this.scheduler != null) ? this.scheduler : new SchedulerImpl(this.id, grid);
+ ((GridImpl) grid).addService( SchedulerService.class,
sched );
- wp.create("scheduler:"+sched.getId()+"@local/local");
+ wp.create("scheduler:"+id+"@local/local");
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerRemoteConfiguration.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -9,8 +9,9 @@
import org.drools.grid.GridPeerServiceConfiguration;
import org.drools.grid.impl.GridImpl;
import org.drools.grid.io.ConversationManager;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
+
public class SchedulerRemoteConfiguration
implements
GridPeerServiceConfiguration {
@@ -25,11 +26,11 @@
public void configureService(Grid grid) {
CoreServicesWhitePagesImpl coreServices = (CoreServicesWhitePagesImpl) grid.get( CoreServicesWhitePages.class );
- GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServices.lookup( Scheduler.class );
+ GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServices.lookup( SchedulerService.class );
- Scheduler scheduler = new SchedulerClient(gsd.getId(), gsd,
+ SchedulerService scheduler = new SchedulerClient(gsd.getId(), gsd,
cm );
- ((GridImpl) grid).addService( Scheduler.class,
+ ((GridImpl) grid).addService( SchedulerService.class,
scheduler );
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerServer.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -24,17 +24,18 @@
import org.drools.grid.io.Message;
import org.drools.grid.io.MessageReceiverHandler;
import org.drools.grid.io.impl.CommandImpl;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
+
/**
*
* @author salaboy
*/
public class SchedulerServer implements
MessageReceiverHandler{
- private Scheduler scheduler = null;
+ private SchedulerService scheduler = null;
- public SchedulerServer(Scheduler scheduler) {
+ public SchedulerServer(SchedulerService scheduler) {
this.scheduler = scheduler;
}
@@ -54,10 +55,10 @@
Conversation con,
Message msg,
CommandImpl cmd) {
- Scheduler scheduler = (Scheduler) object;
+ SchedulerService scheduler = (SchedulerService) object;
final List list = cmd.getArguments();
- scheduler.scheduleJob((ScheduledJob)list.get(0));
- con.respond( true );
+ scheduler.scheduleJob(((ScheduledJob)list.get(0)).getJob(),((ScheduledJob)list.get(0)).getJobContext(), ((ScheduledJob)list.get(0)).getTrigger());
+ con.respond( ((ScheduledJob)list.get(0)).getJobHandle() );
}
} );
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/SchedulerSocketConfiguration.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -13,8 +13,7 @@
import org.drools.grid.MessageReceiverHandlerFactoryService;
import org.drools.grid.MultiplexSocketService;
import org.drools.grid.service.directory.Address;
-import org.drools.grid.service.directory.WhitePages;
-import org.drools.grid.timer.Scheduler;
+import org.drools.time.SchedulerService;
public class SchedulerSocketConfiguration
implements
@@ -30,22 +29,22 @@
}
public void configureService(Grid grid) {
- Scheduler sched = grid.get( Scheduler.class );
+ SchedulerService sched = grid.get( SchedulerService.class );
if ( port != -1 ) {
CoreServicesWhitePagesImpl coreServicesWP = (CoreServicesWhitePagesImpl) grid.get( CoreServicesWhitePages.class );
- GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServicesWP.lookup(Scheduler.class);
+ GridServiceDescriptionImpl gsd = (GridServiceDescriptionImpl) coreServicesWP.lookup(SchedulerService.class);
if ( gsd == null ) {
- gsd = new GridServiceDescriptionImpl( Scheduler.class );
+ gsd = new GridServiceDescriptionImpl( SchedulerService.class );
}
MultiplexSocketService mss = grid.get( MultiplexSocketService.class );
- GridServiceDescription service = coreServicesWP.getServices().get( Scheduler.class.getName() );
+ GridServiceDescription service = coreServicesWP.getServices().get( SchedulerService.class.getName() );
if( service == null){
- coreServicesWP.getServices().put(Scheduler.class.getName(), gsd);
+ coreServicesWP.getServices().put(SchedulerService.class.getName(), gsd);
service = gsd;
}
Address address = null;
@@ -69,7 +68,7 @@
mss.addService( this.port,
- Scheduler.class.getName(),
+ SchedulerService.class.getName(),
((MessageReceiverHandlerFactoryService) sched ).getMessageReceiverHandler() );
}
}
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/java/org/drools/grid/timer/impl/UuidJobHandle.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -3,13 +3,14 @@
*/
package org.drools.grid.timer.impl;
+import java.io.Serializable;
import java.util.UUID;
import org.drools.time.JobHandle;
public class UuidJobHandle
implements
- JobHandle {
+ JobHandle, Serializable {
private UUID uuid;
public UuidJobHandle() {
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/main/resources/META-INF/orm.xml 2010-10-28 20:22:54 UTC (rev 35790)
@@ -19,7 +19,6 @@
<attributes>
<id name="id" />
-
<one-to-many name="addresses" mapped-by="gridServiceDescription" target-entity="org.drools.grid.service.directory.impl.AddressImpl" fetch="EAGER" >
<map-key name="transport" />
<cascade>
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/grid/time/impl/DistributedSchedulerTest.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -44,13 +44,13 @@
import org.drools.grid.service.directory.impl.WhitePagesLocalConfiguration;
import org.drools.grid.service.directory.impl.WhitePagesRemoteConfiguration;
import org.drools.grid.service.directory.impl.WhitePagesSocketConfiguration;
-import org.drools.grid.timer.Scheduler;
import org.drools.grid.timer.impl.CoreServicesSchedulerConfiguration;
import org.drools.grid.timer.impl.ScheduledJobConfiguration;
import org.drools.grid.timer.impl.SchedulerImpl;
import org.drools.grid.timer.impl.SchedulerLocalConfiguration;
import org.drools.grid.timer.impl.SchedulerRemoteConfiguration;
import org.drools.grid.timer.impl.SchedulerSocketConfiguration;
+import org.drools.time.SchedulerService;
public class DistributedSchedulerTest extends TestCase {
@@ -110,15 +110,15 @@
public void testDistributedJobSchedullingLocal() {
GridImpl grid = new GridImpl(new ConcurrentHashMap<String, Object>());
- grid.addService(Scheduler.class, new SchedulerImpl("myLocalSched",grid));
+ grid.addService(SchedulerService.class, new SchedulerImpl("myLocalSched",grid));
- Scheduler scheduler = grid.get(Scheduler.class);
+ SchedulerService scheduler = grid.get(SchedulerService.class);
UuidJobHandle handle = new UuidJobHandle();
ScheduledJob sj1 = new ScheduledJob(handle, new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)), new ScheduledJobConfiguration(1));
ScheduledJob sj2 = new ScheduledJob(handle, new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)), new ScheduledJobConfiguration(1));
- scheduler.scheduleJob(sj1);
+ scheduler.scheduleJob(new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)));
@@ -162,10 +162,10 @@
ScheduledJob sj1 = new ScheduledJob(handle, new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)), new ScheduledJobConfiguration(1));
//From grid2 I get the Scheduler (that it's a client)
- Scheduler scheduler = grid2.get(Scheduler.class);
+ SchedulerService scheduler = grid2.get(SchedulerService.class);
//Schedule remotely the Job
- scheduler.scheduleJob(sj1);
+ scheduler.scheduleJob(new MockJob(), new MockJobContext("xxx"), new MockTrigger(new Date(1000)));
//Close the peer connection
@@ -199,7 +199,7 @@
CoreServicesWhitePages corewp = grid3.get(CoreServicesWhitePages.class);
- GridServiceDescription gsd = corewp.lookup(Scheduler.class);
+ GridServiceDescription gsd = corewp.lookup(SchedulerService.class);
Assert.assertEquals(2, ((InetSocketAddress[])gsd.getAddresses().values().iterator().next().getObject()).length);
Modified: labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java
===================================================================
--- labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java 2010-10-28 14:31:23 UTC (rev 35789)
+++ labs/jbossrules/trunk/drools-grid/drools-grid-impl2/src/test/java/org/drools/io/mina/WhitePagesTest.java 2010-10-28 20:22:54 UTC (rev 35790)
@@ -1,7 +1,6 @@
package org.drools.io.mina;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import junit.framework.Assert;
@@ -27,8 +26,8 @@
import org.drools.grid.service.directory.impl.WhitePagesLocalConfiguration;
import org.drools.grid.service.directory.impl.WhitePagesRemoteConfiguration;
import org.drools.grid.service.directory.impl.WhitePagesSocketConfiguration;
-import org.drools.grid.timer.Scheduler;
import org.drools.grid.timer.impl.SchedulerLocalConfiguration;
+import org.drools.time.SchedulerService;
public class WhitePagesTest extends TestCase {
@@ -126,15 +125,16 @@
WhitePages wplocal= grid1.get(WhitePages.class);
+ Assert.assertNotNull(wplocal);
+ GridServiceDescription schedulersgsd = wplocal.lookup(SchedulerService.class.getName());
+
+ Assert.assertNotNull(schedulersgsd);
+
- GridServiceDescription schedulersgsd = wplocal.lookup(Scheduler.class.getName());
- Assert.assertEquals(2, schedulersgsd.getAddresses().size());
-
-
}
More information about the jboss-svn-commits
mailing list