made messages routing-aware + added supervision of Client and Endpoint instances + added pre/post restart hooks that does disconnect/reconnect
This commit is contained in:
parent
61e5f42767
commit
71283aff11
4 changed files with 275 additions and 388 deletions
|
|
@ -4,15 +4,19 @@
|
|||
|
||||
package se.scalablesolutions.akka.amqp
|
||||
|
||||
import java.lang.String
|
||||
import com.rabbitmq.client.{AMQP => RabbitMQ, _}
|
||||
import com.rabbitmq.client.ConnectionFactory
|
||||
|
||||
import se.scalablesolutions.akka.kernel.actor.Actor
|
||||
import se.scalablesolutions.akka.kernel.util.Logging
|
||||
import se.scalablesolutions.akka.serialization.Serializer
|
||||
import kernel.actor.{OneForOneStrategy, Actor}
|
||||
import kernel.config.ScalaConfig._
|
||||
import kernel.util.Logging
|
||||
import serialization.Serializer
|
||||
|
||||
import org.scala_tools.javautils.Imports._
|
||||
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import java.util.{Timer, TimerTask}
|
||||
import java.io.IOException
|
||||
|
||||
/**
|
||||
* AMQP Actor API. Implements Client and Endpoint materialized as Actors.
|
||||
|
|
@ -25,34 +29,46 @@ import java.util.{Timer, TimerTask}
|
|||
* }
|
||||
* messageConsumer.start
|
||||
*
|
||||
* val endpoint = new Endpoint(
|
||||
* new ConnectionFactory(CONFIG), HOSTNAME, PORT, EXCHANGE, QUEUE, ROUTING_KEY, ExchangeType.Direct, Serializer.Java)
|
||||
* endpoint.start
|
||||
* val endpoint = AMQP.newEndpoint(CONFIG, HOSTNAME, PORT, EXCHANGE, QUEUE, ROUTING_KEY, ExchangeType.Direct, Serializer.Java, None, 100)
|
||||
*
|
||||
* // register message consumer
|
||||
* endpoint ! MessageConsumer(messageConsumer)
|
||||
*
|
||||
* val client = new Client(new ConnectionFactory(CONFIG), HOSTNAME, PORT, EXCHANGE, ROUTING_KEY, Serializer.Java, None)
|
||||
* client.start
|
||||
* client ! Message("Hi")
|
||||
* val client = AMQP.newClient(CONFIG, HOSTNAME, PORT, EXCHANGE, Serializer.Java, None, None, 100)
|
||||
* client ! Message("Hi", ROUTING_KEY)
|
||||
* </pre>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
object AMQP {
|
||||
case class Message(val payload: AnyRef)
|
||||
case class MessageConsumer(val listener: Actor)
|
||||
case class Reconnect(val delay: Long)
|
||||
object AMQP extends Actor {
|
||||
private val connections = new ConcurrentHashMap[FaultTolerantConnectionActor, FaultTolerantConnectionActor]
|
||||
faultHandler = Some(OneForOneStrategy(5, 5000))
|
||||
trapExit = true
|
||||
start
|
||||
|
||||
class Message(val payload: AnyRef, val routingKey: String, val mandatory: Boolean, val immediate: Boolean)
|
||||
object Message {
|
||||
def unapply(message: Message): Option[Tuple4[AnyRef, String, Boolean, Boolean]] =
|
||||
Some((message.payload, message.routingKey, message.mandatory, message.immediate))
|
||||
def apply(payload: AnyRef, routingKey: String, mandatory: Boolean, immediate: Boolean): Message =
|
||||
new Message(payload, routingKey, mandatory, immediate)
|
||||
def apply(payload: AnyRef, routingKey: String): Message =
|
||||
new Message(payload, routingKey, false, false)
|
||||
}
|
||||
case class MessageConsumer(listener: Actor)
|
||||
case class Reconnect(delay: Long)
|
||||
case class Failure(cause: Throwable)
|
||||
case object Stop
|
||||
|
||||
class MessageNotDeliveredException(message: String) extends RuntimeException(message)
|
||||
|
||||
sealed trait ExchangeType
|
||||
sealed trait ExchangeType
|
||||
object ExchangeType {
|
||||
case object Direct extends ExchangeType {
|
||||
override def toString = "direct"
|
||||
}
|
||||
case object Topic extends ExchangeType {
|
||||
override def toString = "topic"
|
||||
override def toString = "topic"
|
||||
}
|
||||
case object Fanout extends ExchangeType {
|
||||
override def toString = "fanout"
|
||||
|
|
@ -62,6 +78,61 @@ object AMQP {
|
|||
}
|
||||
}
|
||||
|
||||
def newClient(
|
||||
config: ConnectionParameters,
|
||||
hostname: String,
|
||||
port: Int,
|
||||
exchangeName: String,
|
||||
serializer: Serializer,
|
||||
returnListener: Option[ReturnListener],
|
||||
shutdownListener: Option[ShutdownListener],
|
||||
initReconnectDelay: Long): Client = {
|
||||
val client = new Client(
|
||||
new ConnectionFactory(config),
|
||||
hostname, port,
|
||||
exchangeName,
|
||||
serializer,
|
||||
returnListener,
|
||||
shutdownListener,
|
||||
initReconnectDelay)
|
||||
startLink(client)
|
||||
client
|
||||
}
|
||||
|
||||
def newEndpoint(
|
||||
config: ConnectionParameters,
|
||||
hostname: String,
|
||||
port: Int,
|
||||
exchangeName: String,
|
||||
queueName: String,
|
||||
routingKey: String,
|
||||
exchangeType: ExchangeType,
|
||||
serializer: Serializer,
|
||||
shutdownListener: Option[ShutdownListener],
|
||||
initReconnectDelay: Long): Endpoint = {
|
||||
val endpoint = new Endpoint(
|
||||
new ConnectionFactory(config),
|
||||
hostname, port,
|
||||
exchangeName, queueName, routingKey,
|
||||
exchangeType,
|
||||
serializer,
|
||||
shutdownListener,
|
||||
initReconnectDelay)
|
||||
startLink(endpoint)
|
||||
endpoint
|
||||
}
|
||||
|
||||
def stopConnection(connection: FaultTolerantConnectionActor) = {
|
||||
connection ! Stop
|
||||
unlink(connection)
|
||||
connections.remove(connection)
|
||||
}
|
||||
|
||||
override def shutdown = {
|
||||
connections.values.asScala.foreach(_ ! Stop)
|
||||
stop
|
||||
}
|
||||
|
||||
/**
|
||||
* AMQP client actor.
|
||||
* Usage:
|
||||
|
|
@ -71,24 +142,24 @@ object AMQP {
|
|||
* params.setPassword("obama")
|
||||
* params.setVirtualHost("/")
|
||||
* params.setRequestedHeartbeat(0)
|
||||
* val client = new AMQP.Client(new ConnectionFactory(params), "localhost", 5672, "exchangeName", "routingKey", Serializer.Java, None, None)
|
||||
* client.start
|
||||
* val client = AMQP.newClient(params, "localhost", 5672, "exchangeName", Serializer.Java, None, None, 100)
|
||||
* client ! Message("hi")
|
||||
* </pre>
|
||||
*
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class Client(
|
||||
connectionFactory: ConnectionFactory,
|
||||
hostname: String,
|
||||
port: Int,
|
||||
class Client private[amqp] (
|
||||
val connectionFactory: ConnectionFactory,
|
||||
val hostname: String,
|
||||
val port: Int,
|
||||
exchangeKey: String,
|
||||
routingKey: String,
|
||||
serializer: Serializer,
|
||||
returnListener: Option[ReturnListener],
|
||||
shutdownListener: Option[ShutdownListener]) extends Actor {
|
||||
private val connection = connectionFactory.newConnection(hostname, port)
|
||||
private val channel = connection.createChannel
|
||||
shutdownListener: Option[ShutdownListener],
|
||||
val initReconnectDelay: Long)
|
||||
extends FaultTolerantConnectionActor {
|
||||
var connection = connectionFactory.newConnection(hostname, port)
|
||||
var channel = connection.createChannel
|
||||
returnListener match {
|
||||
case Some(listener) => channel.setReturnListener(listener)
|
||||
case None => channel.setReturnListener(new ReturnListener() {
|
||||
|
|
@ -110,34 +181,38 @@ object AMQP {
|
|||
if (shutdownListener.isDefined) connection.addShutdownListener(shutdownListener.get)
|
||||
|
||||
def receive: PartialFunction[Any, Unit] = {
|
||||
case Message(msg: AnyRef) => send(msg)
|
||||
case Message(payload, routingKey, mandatory, immediate) =>
|
||||
channel.basicPublish(exchangeKey, routingKey, mandatory, immediate, null, serializer.out(payload))
|
||||
case Stop =>
|
||||
disconnect; stop
|
||||
}
|
||||
|
||||
protected def send(message: AnyRef) = channel.basicPublish(exchangeKey, routingKey, null, serializer.out(message))
|
||||
def setupChannel = {}
|
||||
}
|
||||
|
||||
/**
|
||||
* @author <a href="http://jonasboner.com">Jonas Bonér</a>
|
||||
*/
|
||||
class Endpoint(
|
||||
connectionFactory: ConnectionFactory,
|
||||
hostname: String,
|
||||
port: Int,
|
||||
class Endpoint private[amqp] (
|
||||
val connectionFactory: ConnectionFactory,
|
||||
val hostname: String,
|
||||
val port: Int,
|
||||
exchangeName: String,
|
||||
queueName: String,
|
||||
routingKey: String,
|
||||
exchangeType: ExchangeType,
|
||||
serializer: Serializer,
|
||||
shutdownListener: Option[ShutdownListener]) extends Actor {
|
||||
private var connection = connectionFactory.newConnection(hostname, port)
|
||||
private var channel = connection.createChannel
|
||||
private val reconnectionTimer = new Timer
|
||||
private var listeners: List[Actor] = Nil
|
||||
private val endpoint = this
|
||||
shutdownListener: Option[ShutdownListener],
|
||||
val initReconnectDelay: Long)
|
||||
extends FaultTolerantConnectionActor {
|
||||
var connection = connectionFactory.newConnection(hostname, port)
|
||||
var channel = connection.createChannel
|
||||
var listeners: List[Actor] = Nil
|
||||
val endpoint = this
|
||||
if (shutdownListener.isDefined) connection.addShutdownListener(shutdownListener.get)
|
||||
setupChannel
|
||||
|
||||
private def setupChannel = {
|
||||
def setupChannel = {
|
||||
channel.exchangeDeclare(exchangeName, exchangeType.toString)
|
||||
channel.queueDeclare(queueName)
|
||||
channel.queueBind(queueName, exchangeName, routingKey)
|
||||
|
|
@ -147,33 +222,80 @@ object AMQP {
|
|||
envelope: Envelope,
|
||||
properties: RabbitMQ.BasicProperties,
|
||||
payload: Array[Byte]) {
|
||||
endpoint ! Message(serializer.in(payload, None))
|
||||
channel.basicAck(envelope.getDeliveryTag, false)
|
||||
try {
|
||||
endpoint ! Message(serializer.in(payload, None), envelope.getRoutingKey)
|
||||
channel.basicAck(envelope.getDeliveryTag, false)
|
||||
} catch {
|
||||
case cause => endpoint ! Failure(cause) // pass on and rethrow exception in endpoint actor to trigger restart and reconnect
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
def receive: PartialFunction[Any, Unit] = {
|
||||
case message: Message => listeners.foreach(_ ! message)
|
||||
case MessageConsumer(listener) => listeners ::= listener
|
||||
case Reconnect(delay) => reconnect(delay)
|
||||
case unknown => throw new IllegalArgumentException("Unknown message to AMQP Endpoint [" + unknown + "]")
|
||||
case message: Message => listeners.foreach(_ ! message)
|
||||
case Reconnect(delay) => reconnect(delay)
|
||||
case Failure(cause) => throw cause
|
||||
case Stop => disconnect; stop
|
||||
case unknown => throw new IllegalArgumentException("Unknown message to AMQP Endpoint [" + unknown + "]")
|
||||
}
|
||||
}
|
||||
|
||||
trait FaultTolerantConnectionActor extends Actor {
|
||||
lifeCycleConfig = Some(LifeCycle(Permanent, 100))
|
||||
|
||||
val reconnectionTimer = new Timer
|
||||
|
||||
var connection: Connection
|
||||
var channel: Channel
|
||||
|
||||
val connectionFactory: ConnectionFactory
|
||||
val hostname: String
|
||||
val port: Int
|
||||
val initReconnectDelay: Long
|
||||
|
||||
def setupChannel
|
||||
|
||||
protected def disconnect = {
|
||||
try {
|
||||
channel.close
|
||||
} catch {
|
||||
case e: IOException => log.error("Could not close AMQP channel %s:%s", hostname, port)
|
||||
case _ => ()
|
||||
}
|
||||
try {
|
||||
connection.close
|
||||
log.debug("Disconnected AMQP connection at %s:%s", hostname, port)
|
||||
} catch {
|
||||
case e: IOException => log.error("Could not close AMQP connection %s:%s", hostname, port)
|
||||
case _ => ()
|
||||
}
|
||||
}
|
||||
|
||||
private def reconnect(delay: Long) = {
|
||||
protected def reconnect(delay: Long) = {
|
||||
disconnect
|
||||
try {
|
||||
connection = connectionFactory.newConnection(hostname, port)
|
||||
channel = connection.createChannel
|
||||
setupChannel
|
||||
log.debug("Successfully reconnected to AMQP Server")
|
||||
log.debug("Successfully reconnected to AMQP Server %s:%s", hostname, port)
|
||||
} catch {
|
||||
case e: Exception =>
|
||||
val waitInMillis = delay * 2
|
||||
log.debug("Trying to reconnect to AMQP server in %n milliseconds" + waitInMillis)
|
||||
reconnectionTimer.schedule(new TimerTask() {override def run = endpoint ! Reconnect(waitInMillis)}, delay)
|
||||
val self = this
|
||||
log.debug("Trying to reconnect to AMQP server in %n milliseconds", waitInMillis)
|
||||
reconnectionTimer.schedule(new TimerTask() { override def run = self ! Reconnect(waitInMillis) }, delay)
|
||||
}
|
||||
}
|
||||
|
||||
override def preRestart(reason: AnyRef, config: Option[AnyRef]) = disconnect
|
||||
override def postRestart(reason: AnyRef, config: Option[AnyRef]) = reconnect(initReconnectDelay)
|
||||
}
|
||||
|
||||
def receive: PartialFunction[Any, Unit] = {
|
||||
case _ => {} // ignore all messages
|
||||
}
|
||||
}
|
||||
|
||||
object ExampleAMQPSession {
|
||||
|
|
@ -189,20 +311,23 @@ object ExampleAMQPSession {
|
|||
|
||||
val messageConsumer = new Actor() {
|
||||
def receive: PartialFunction[Any, Unit] = {
|
||||
case Message(payload) => log.debug("Received message: %s", payload)
|
||||
case Message(payload, _, _, _) => log.debug("Received message: %s", payload)
|
||||
}
|
||||
}
|
||||
messageConsumer.start
|
||||
|
||||
val endpoint = new Endpoint(
|
||||
new ConnectionFactory(CONFIG), HOSTNAME, PORT, EXCHANGE, QUEUE, ROUTING_KEY, ExchangeType.Direct, SERIALIZER, None)
|
||||
endpoint.start
|
||||
val endpoint = AMQP.newEndpoint(CONFIG, HOSTNAME, PORT, EXCHANGE, QUEUE, ROUTING_KEY, ExchangeType.Direct, SERIALIZER, None, 100)
|
||||
|
||||
// register message consumer
|
||||
endpoint ! MessageConsumer(messageConsumer)
|
||||
|
||||
val client = new Client(new ConnectionFactory(CONFIG), HOSTNAME, PORT, EXCHANGE, ROUTING_KEY, SERIALIZER, None, None)
|
||||
client.start
|
||||
client ! Message(ROUTING_KEY + " I'm going surfing")
|
||||
val client = AMQP.newClient(CONFIG, HOSTNAME, PORT, EXCHANGE, SERIALIZER, None, None, 100)
|
||||
client ! Message(ROUTING_KEY + " I'm going surfing", ROUTING_KEY)
|
||||
Thread.sleep(1000)
|
||||
client ! Message(ROUTING_KEY + " I'm going surfing", ROUTING_KEY)
|
||||
Thread.sleep(1000)
|
||||
client ! Message(ROUTING_KEY + " I'm going surfing", ROUTING_KEY)
|
||||
Thread.sleep(1000)
|
||||
client ! Message(ROUTING_KEY + " I'm going surfing", ROUTING_KEY)
|
||||
}
|
||||
}
|
||||
44
akka.ipr
44
akka.ipr
|
|
@ -1362,6 +1362,17 @@
|
|||
<root url="jar://$MAVEN_REPOSITORY$/org/atmosphere/atmosphere-compat/0.3/atmosphere-compat-0.3-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
<library name="Maven: commons-io:commons-io:1.4">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
<library name="Maven: junit:junit:4.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.5/junit-4.5.jar!/" />
|
||||
|
|
@ -1582,6 +1593,17 @@
|
|||
<root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-library/1.1/hamcrest-library-1.1-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
<library name="Maven: org.scala-tools.testing:scalatest:0.9.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-tools/testing/scalatest/0.9.5/scalatest-0.9.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-tools/testing/scalatest/0.9.5/scalatest-0.9.5-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-tools/testing/scalatest/0.9.5/scalatest-0.9.5-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
<library name="Maven: org.scala-lang:scala-compiler:2.7.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-lang/scala-compiler/2.7.5/scala-compiler-2.7.5.jar!/" />
|
||||
|
|
@ -1714,28 +1736,6 @@
|
|||
<root url="jar://$MAVEN_REPOSITORY$/org/mortbay/jetty/jetty-util/7.0.0.pre5/jetty-util-7.0.0.pre5-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
<library name="Maven: org.scala-tools.testing:scalatest:0.9.5">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-tools/testing/scalatest/0.9.5/scalatest-0.9.5.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-tools/testing/scalatest/0.9.5/scalatest-0.9.5-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/org/scala-tools/testing/scalatest/0.9.5/scalatest-0.9.5-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
<library name="Maven: commons-io:commons-io:1.4">
|
||||
<CLASSES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4-javadoc.jar!/" />
|
||||
</JAVADOC>
|
||||
<SOURCES>
|
||||
<root url="jar://$MAVEN_REPOSITORY$/commons-io/commons-io/1.4/commons-io-1.4-sources.jar!/" />
|
||||
</SOURCES>
|
||||
</library>
|
||||
</component>
|
||||
<UsedPathMacros>
|
||||
<macro name="MAVEN_REPOSITORY" description="Maven Local Repostiry" />
|
||||
|
|
|
|||
381
akka.iws
381
akka.iws
|
|
@ -2,13 +2,7 @@
|
|||
<project relativePaths="false" version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" readonly="true" id="d8b7c92c-a9d3-4b9d-89b5-ef04194c68b8" name="Default" comment="">
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/util-java/akka-util-java.iml" afterPath="" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/samples-scala/akka-samples-scala.iml" afterPath="" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/kernel/akka-kernel.iml" afterPath="" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/samples-java/akka-samples-java.iml" afterPath="" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-amqp/pom.xml" afterPath="$PROJECT_DIR$/akka-amqp/pom.xml" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/samples-lift/akka-samples-lift.iml" afterPath="" />
|
||||
<change type="DELETED" beforePath="$PROJECT_DIR$/fun-test-java/akka-fun-test-java.iml" afterPath="" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/kernel/src/main/scala/util/Scheduler.scala" afterPath="$PROJECT_DIR$/kernel/src/main/scala/util/Scheduler.scala" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka.ipr" afterPath="$PROJECT_DIR$/akka.ipr" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka.iws" afterPath="$PROJECT_DIR$/akka.iws" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQP.scala" afterPath="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQP.scala" />
|
||||
|
|
@ -69,59 +63,8 @@
|
|||
<file leaf-file-name="Actor.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/actor/Actor.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="44" column="16" selection-start="1530" selection-end="1530" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<marker date="1251790823000" expanded="false" signature="0:49" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="106:558" placeholder="..." />
|
||||
<marker date="1251790823000" expanded="true" signature="935:1218" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="1220:1291" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="1359:1425" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="1427:1498" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="1512:1669" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="1671:1742" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="1798:24073" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="2744:2915" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="2965:3869" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4141:4292" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4354:4495" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4547:4883" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4954:5435" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="5491:5658" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="5702:5905" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="5979:6182" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6257:6421" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6511:6568" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6680:6733" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6993:7077" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="7284:7779" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="8121:8630" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="8700:8865" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="9190:9307" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="9634:9733" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="10081:10184" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="10331:10434" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="10560:10901" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="11111:11524" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="11568:11996" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="12000:12091" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="12137:12553" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="12557:12666" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="12715:12752" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="12756:12878" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="12933:13033" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="13037:13167" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="13235:13383" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="13387:13530" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="13604:13815" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="13819:13955" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="14027:14095" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="14099:14248" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="14326:14457" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="16659:16775" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="17050:17933" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="18010:19404" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="20437:21114" placeholder="{...}" />
|
||||
</folding>
|
||||
<state line="556" column="50" selection-start="21523" selection-end="21562" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
|
|
@ -130,20 +73,7 @@
|
|||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Kernel.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="29" column="53" selection-start="772" selection-end="772" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<marker date="1251788225000" expanded="false" signature="0:49" placeholder="/**...*/" />
|
||||
<marker date="1251788225000" expanded="true" signature="100:541" placeholder="..." />
|
||||
<marker date="1251788225000" expanded="true" signature="543:614" placeholder="/**...*/" />
|
||||
<marker date="1251788225000" expanded="true" signature="645:7522" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="2340:3302" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="3352:4447" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="4490:4727" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="4609:4670" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="4747:5954" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="5984:6346" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="6383:7520" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="7527:7834" placeholder="/.../" />
|
||||
</folding>
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
|
|
@ -152,72 +82,7 @@
|
|||
<entry file="file://$PROJECT_DIR$/kernel/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="5" column="28" selection-start="286" selection-end="286" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<marker date="1251788270000" expanded="true" signature="50:8399" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="371:537" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="576:6552" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="593:737" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="754:888" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="905:1057" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1074:1219" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1236:1363" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1380:1500" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1517:1653" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1670:1810" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1827:1957" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1974:2100" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2117:2252" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2310:2453" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2470:2615" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2632:2771" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2788:2907" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2924:3050" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3067:3200" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3217:3350" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3367:3487" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3529:3650" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3695:3837" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3854:3977" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3994:4116" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4133:4264" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4319:4466" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4483:4620" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4637:4772" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4789:4915" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4932:5086" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5103:5237" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5254:5400" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5417:5553" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5608:5737" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5754:5879" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5896:6014" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6031:6168" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6211:6376" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6393:6534" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6563:8388" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6577:7903" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6592:7351" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6706:7335" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6728:7313" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6826:6881" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6909:7290" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6940:7077" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6972:7045" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7101:7262" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7128:7237" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7366:7888" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7440:7872" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7462:7850" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7525:7755" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7547:7726" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7638:7702" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7775:7827" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7919:8377" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7936:8159" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="8033:8141" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="8176:8360" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="8282:8342" placeholder="..." />
|
||||
</folding>
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
|
|
@ -225,7 +90,25 @@
|
|||
<file leaf-file-name="AMQP.scala" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/akka-amqp/src/main/scala/AMQP.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="202" column="3" selection-start="6872" selection-end="6872" vertical-scroll-proportion="0.8488529">
|
||||
<state line="55" column="6" selection-start="1988" selection-end="1988" vertical-scroll-proportion="0.02116402">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Scheduler.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/util/Scheduler.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="2" selection-start="1200" selection-end="1200" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="SimpleService.scala" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/samples-scala/src/main/scala/SimpleService.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="25" column="35" selection-start="896" selection-end="921" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
@ -240,15 +123,6 @@
|
|||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Channel.class" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="jar://$MAVEN_REPOSITORY$/com/rabbitmq/rabbitmq-client/0.9.1/rabbitmq-client-0.9.1.jar!/com/rabbitmq/client/Channel.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="21" column="9" selection-start="635" selection-end="635" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="pom.xml" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/akka-amqp/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
|
|
@ -268,7 +142,6 @@
|
|||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQPSender.scala" />
|
||||
<option value="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQPActor.scala" />
|
||||
<option value="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQPDispatcher.scala" />
|
||||
<option value="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQPClientActor.scala" />
|
||||
|
|
@ -283,6 +156,7 @@
|
|||
<option value="$PROJECT_DIR$/samples-java/src/main/java/sample/java/SimpleService.java" />
|
||||
<option value="$PROJECT_DIR$/kernel/src/main/scala/actor/Actor.scala" />
|
||||
<option value="$PROJECT_DIR$/akka-amqp/pom.xml" />
|
||||
<option value="$PROJECT_DIR$/kernel/src/main/scala/util/Scheduler.scala" />
|
||||
<option value="$PROJECT_DIR$/akka-amqp/src/main/scala/AMQP.scala" />
|
||||
</list>
|
||||
</option>
|
||||
|
|
@ -319,24 +193,10 @@
|
|||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka-amqp" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka-amqp" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="akka-amqp" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</component>
|
||||
|
|
@ -467,7 +327,7 @@
|
|||
</method>
|
||||
</configuration>
|
||||
<configuration default="false" name="ExampleAMQPSession" type="Application" factoryName="Application" enabled="false" merge="false" sample_coverage="true" runner="emma">
|
||||
<option name="MAIN_CLASS_NAME" value="com.scalablesolutions.akka.amqp.ExampleAMQPSession" />
|
||||
<option name="MAIN_CLASS_NAME" value="se.scalablesolutions.akka.amqp.ExampleAMQPSession" />
|
||||
<option name="VM_PARAMETERS" value="" />
|
||||
<option name="PROGRAM_PARAMETERS" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
|
||||
|
|
@ -521,19 +381,19 @@
|
|||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3294881" sideWeight="0.6619898" order="3" side_tool="false" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.1744773" sideWeight="0.44132653" order="0" side_tool="false" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32908162" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32908162" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.5497449" sideWeight="0.5" order="2" side_tool="false" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24873829" sideWeight="0.44132653" order="0" side_tool="false" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39923468" sideWeight="0.5" order="3" side_tool="false" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="true" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32908162" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32918397" sideWeight="0.5" order="1" side_tool="false" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" />
|
||||
|
|
@ -584,153 +444,17 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/actor/Actor.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="44" column="16" selection-start="1530" selection-end="1530" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<marker date="1251790823000" expanded="false" signature="0:49" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="106:558" placeholder="..." />
|
||||
<marker date="1251790823000" expanded="true" signature="935:1218" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="1220:1291" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="1359:1425" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="1427:1498" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="1512:1669" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="1671:1742" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="1798:24073" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="2744:2915" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="2965:3869" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4141:4292" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4354:4495" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4547:4883" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="4954:5435" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="5491:5658" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="5702:5905" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="5979:6182" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6257:6421" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6511:6568" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6680:6733" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="6993:7077" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="7284:7779" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="8121:8630" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="8700:8865" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="9190:9307" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="9634:9733" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="10081:10184" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="10331:10434" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="10560:10901" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="11111:11524" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="11568:11996" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="12000:12091" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="12137:12553" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="12557:12666" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="12715:12752" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="12756:12878" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="12933:13033" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="13037:13167" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="13235:13383" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="13387:13530" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="13604:13815" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="13819:13955" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="14027:14095" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="14099:14248" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="14326:14457" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="16659:16775" placeholder="/**...*/" />
|
||||
<marker date="1251790823000" expanded="true" signature="17050:17933" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="18010:19404" placeholder="{...}" />
|
||||
<marker date="1251790823000" expanded="true" signature="20437:21114" placeholder="{...}" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/Kernel.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="29" column="53" selection-start="772" selection-end="772" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<marker date="1251788225000" expanded="false" signature="0:49" placeholder="/**...*/" />
|
||||
<marker date="1251788225000" expanded="true" signature="100:541" placeholder="..." />
|
||||
<marker date="1251788225000" expanded="true" signature="543:614" placeholder="/**...*/" />
|
||||
<marker date="1251788225000" expanded="true" signature="645:7522" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="2340:3302" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="3352:4447" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="4490:4727" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="4609:4670" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="4747:5954" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="5984:6346" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="6383:7520" placeholder="{...}" />
|
||||
<marker date="1251788225000" expanded="true" signature="7527:7834" placeholder="/.../" />
|
||||
</folding>
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/pom.xml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="5" column="28" selection-start="286" selection-end="286" vertical-scroll-proportion="0.0">
|
||||
<folding>
|
||||
<marker date="1251788270000" expanded="true" signature="50:8399" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="371:537" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="576:6552" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="593:737" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="754:888" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="905:1057" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1074:1219" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1236:1363" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1380:1500" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1517:1653" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1670:1810" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1827:1957" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="1974:2100" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2117:2252" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2310:2453" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2470:2615" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2632:2771" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2788:2907" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="2924:3050" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3067:3200" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3217:3350" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3367:3487" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3529:3650" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3695:3837" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3854:3977" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="3994:4116" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4133:4264" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4319:4466" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4483:4620" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4637:4772" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4789:4915" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="4932:5086" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5103:5237" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5254:5400" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5417:5553" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5608:5737" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5754:5879" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="5896:6014" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6031:6168" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6211:6376" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6393:6534" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6563:8388" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6577:7903" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6592:7351" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6706:7335" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6728:7313" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6826:6881" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6909:7290" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6940:7077" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="6972:7045" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7101:7262" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7128:7237" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7366:7888" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7440:7872" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7462:7850" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7525:7755" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7547:7726" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7638:7702" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7775:7827" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7919:8377" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="7936:8159" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="8033:8141" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="8176:8360" placeholder="..." />
|
||||
<marker date="1251788270000" expanded="true" signature="8282:8342" placeholder="..." />
|
||||
</folding>
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
|
|
@ -762,9 +486,30 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/actor/Actor.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="556" column="50" selection-start="21523" selection-end="21562" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/samples-scala/src/main/scala/SimpleService.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="25" column="35" selection-start="896" selection-end="921" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/util/Scheduler.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="31" column="2" selection-start="1200" selection-end="1200" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$MAVEN_REPOSITORY$/com/rabbitmq/rabbitmq-client/0.9.1/rabbitmq-client-0.9.1.jar!/com/rabbitmq/client/Channel.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="21" column="9" selection-start="635" selection-end="635" vertical-scroll-proportion="0.0">
|
||||
<state line="21" column="9" selection-start="639" selection-end="639" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
@ -776,9 +521,23 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/akka-util/target/classes/se/scalablesolutions/akka/Config.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/akka-actors/target/classes/se/scalablesolutions/akka/config/ScalaConfig.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/akka-amqp/src/main/scala/AMQP.scala">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state line="202" column="3" selection-start="6872" selection-end="6872" vertical-scroll-proportion="0.8488529">
|
||||
<state line="55" column="6" selection-start="1988" selection-end="1988" vertical-scroll-proportion="0.02116402">
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ package se.scalablesolutions.akka.kernel.util
|
|||
|
||||
import java.util.concurrent._
|
||||
import kernel.actor.{OneForOneStrategy, Actor}
|
||||
import kernel.config.ScalaConfig._
|
||||
|
||||
import org.scala_tools.javautils.Imports._
|
||||
|
||||
|
|
@ -26,6 +27,8 @@ case class SchedulerException(msg: String, e: Throwable) extends RuntimeExceptio
|
|||
* which is licensed under the Apache 2 License.
|
||||
*/
|
||||
class ScheduleActor(val receiver: Actor, val future: ScheduledFuture[AnyRef]) extends Actor with Logging {
|
||||
lifeCycleConfig = Some(LifeCycle(Permanent, 100))
|
||||
|
||||
def receive: PartialFunction[Any, Unit] = {
|
||||
case UnSchedule =>
|
||||
Scheduler.stopSupervising(this)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue