|
From: <ha...@us...> - 2008-09-16 10:42:24
|
Revision: 2164
http://cogkit.svn.sourceforge.net/cogkit/?rev=2164&view=rev
Author: hategan
Date: 2008-09-16 17:42:21 +0000 (Tue, 16 Sep 2008)
Log Message:
-----------
...
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java 2008-09-16 17:41:22 UTC (rev 2163)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/CoasterService.java 2008-09-16 17:42:21 UTC (rev 2164)
@@ -19,8 +19,10 @@
import org.globus.cog.abstraction.impl.execution.coaster.NotificationManager;
import org.globus.cog.karajan.workflow.service.ConnectionHandler;
import org.globus.cog.karajan.workflow.service.GSSService;
+import org.globus.cog.karajan.workflow.service.RemoteConfiguration;
import org.globus.cog.karajan.workflow.service.RequestManager;
import org.globus.cog.karajan.workflow.service.ServiceRequestManager;
+import org.globus.cog.karajan.workflow.service.channels.ChannelException;
import org.globus.cog.karajan.workflow.service.channels.ChannelManager;
import org.globus.cog.karajan.workflow.service.channels.KarajanChannel;
import org.globus.gsi.gssapi.auth.SelfAuthorization;
@@ -30,7 +32,7 @@
.getLogger(CoasterService.class);
public static final int IDLE_TIMEOUT = 120 * 1000;
-
+
public static final RequestManager COASTER_REQUEST_MANAGER = new CoasterRequestManager();
private String registrationURL, id;
@@ -91,8 +93,11 @@
if (id != null) {
try {
logger.info("Reserving channel for registration");
+ RemoteConfiguration.getDefault().prepend(
+ getChannelConfiguration(registrationURL));
KarajanChannel channel = ChannelManager.getManager()
- .reserveChannel(registrationURL, null, COASTER_REQUEST_MANAGER);
+ .reserveChannel(registrationURL, null,
+ COASTER_REQUEST_MANAGER);
channel.getChannelContext().setService(this);
logger.info("Sending registration");
RegistrationCommand reg = new RegistrationCommand(id,
@@ -133,6 +138,10 @@
}
}
+ public void irrecoverableChannelError(KarajanChannel channel, Exception e) {
+ stop(e);
+ }
+
private synchronized void checkIdleTime() {
// the notification manager should probably not be a singleton
long idleTime = NotificationManager.getDefault().getIdleTime();
@@ -152,15 +161,15 @@
public synchronized void suspend() {
this.suspended = true;
}
-
+
public synchronized boolean isSuspended() {
return suspended;
}
-
+
public synchronized void resume() {
this.suspended = false;
}
-
+
public void shutdown() {
super.shutdown();
jobQueue.getWorkerManager().shutdown();
@@ -171,6 +180,12 @@
return jobQueue;
}
+ protected RemoteConfiguration.Entry getChannelConfiguration(String contact) {
+ return new RemoteConfiguration.Entry(
+ contact.replaceAll("\\.", "\\."),
+ "KEEPALIVE, RECONNECT(8), HEARTBEAT(300)");
+ }
+
public static void main(String[] args) {
try {
CoasterService s;
@@ -188,5 +203,9 @@
e.printStackTrace();
System.exit(1);
}
+ catch (Throwable t) {
+ t.printStackTrace();
+ System.exit(2);
+ }
}
}
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java 2008-09-16 17:41:22 UTC (rev 2163)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/LocalTCPService.java 2008-09-16 17:42:21 UTC (rev 2164)
@@ -62,6 +62,4 @@
}
super.handleConnection(socket);
}
-
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|