moved the STM Ref to correct package

This commit is contained in:
jboner 2009-09-30 20:08:55 +02:00
parent 8899efd4ac
commit 4caa81bb9b
12 changed files with 241 additions and 253 deletions

View file

@ -216,6 +216,7 @@ trait Actor extends Logging with TransactionManagement {
isRunning = true
if (isTransactional) this ! TransactionalInit
}
log.info("[%s] has started", toString)
}
/**
@ -364,8 +365,8 @@ trait Actor extends Logging with TransactionManagement {
* <p/>
* To be invoked from within the actor itself.
*/
protected[this] def startLinkRemote(actor: Actor) = {
actor.makeRemote(RemoteServer.HOSTNAME, RemoteServer.PORT)
protected[this] def startLinkRemote(actor: Actor, hostname: String, port: Int) = {
actor.makeRemote(hostname, port)
actor.start
link(actor)
}
@ -377,8 +378,10 @@ trait Actor extends Logging with TransactionManagement {
*/
protected[this] def spawn[T <: Actor](actorClass: Class[T]): T = {
val actor = actorClass.newInstance.asInstanceOf[T]
actor.dispatcher = dispatcher
actor.mailbox = mailbox
if (!dispatcher.isInstanceOf[ThreadBasedDispatcher]) {
actor.dispatcher = dispatcher
actor.mailbox = mailbox
}
actor.start
actor
}
@ -388,11 +391,13 @@ trait Actor extends Logging with TransactionManagement {
* <p/>
* To be invoked from within the actor itself.
*/
protected[this] def spawnRemote[T <: Actor](actorClass: Class[T]): T = {
protected[this] def spawnRemote[T <: Actor](actorClass: Class[T], hostname: String, port: Int): T = {
val actor = actorClass.newInstance.asInstanceOf[T]
actor.makeRemote(RemoteServer.HOSTNAME, RemoteServer.PORT)
actor.dispatcher = dispatcher
actor.mailbox = mailbox
actor.makeRemote(hostname, port)
if (!dispatcher.isInstanceOf[ThreadBasedDispatcher]) {
actor.dispatcher = dispatcher
actor.mailbox = mailbox
}
actor.start
actor
}
@ -413,9 +418,9 @@ trait Actor extends Logging with TransactionManagement {
* <p/>
* To be invoked from within the actor itself.
*/
protected[this] def spawnLinkRemote[T <: Actor](actorClass: Class[T]): T = {
protected[this] def spawnLinkRemote[T <: Actor](actorClass: Class[T], hostname: String, port: Int): T = {
val actor = spawn[T](actorClass)
actor.makeRemote(RemoteServer.HOSTNAME, RemoteServer.PORT)
actor.makeRemote(hostname, port)
link(actor)
actor
}

View file

@ -7,6 +7,7 @@ package se.scalablesolutions.akka.stm
import java.util.concurrent.atomic.{AtomicInteger, AtomicLong}
import state.Transactional
import util.Logging
import actor.Actor
import org.multiverse.api.{Transaction => MultiverseTransaction}
import org.multiverse.stms.alpha.AlphaStm
@ -74,6 +75,9 @@ object Transaction {
@volatile private[this] var status: TransactionStatus = TransactionStatus.New
private[akka] var transaction: MultiverseTransaction = _
// private[this] var initMessage: Option[AnyRef] = None
// private[this] var initReceiver: Option[Actor] = None
private[this] var participants: List[String] = Nil
private[this] var precommitted: List[String] = Nil
@ -84,7 +88,10 @@ object Transaction {
def isTopLevel = depth.compareAndSet(0, 0)
def begin(participant: String) = synchronized {
// def begin(participant: String, message, receiver) = synchronized {
ensureIsActiveOrNew
// initMessage = Some(message)
// initReceiver = Some(receiver)
transaction = Multiverse.STM.startUpdateTransaction("akka")
log.debug("Creating a new transaction with id [%s]", id)

View file

@ -22,7 +22,7 @@ object TransactionManagement {
import Config._
val TIME_WAITING_FOR_COMPLETION = config.getInt("akka.stm.wait-for-completion", 100)
val NR_OF_TIMES_WAITING_FOR_COMPLETION = config.getInt("akka.stm.wait-nr-of-times", 3)
val TRANSACTION_ENABLED = new AtomicBoolean(config.getBool("akka.stm.service", true))
val TRANSACTION_ENABLED = new AtomicBoolean(config.getBool("akka.stm.service", false))
// FIXME reenable 'akka.stm.restart-on-collision' when new STM is in place
val RESTART_TRANSACTION_ON_COLLISION = false //akka.Kernel.config.getBool("akka.stm.restart-on-collision", true)

View file

@ -7,7 +7,7 @@ package se.scalablesolutions.akka.state
import stm.{TransactionManagement, Ref}
import org.multiverse.templates.AtomicTemplate
import org.multiverse.api.Transaction;
import akka.collection._
import collection._
import org.codehaus.aspectwerkz.proxy.Uuid
@ -71,15 +71,17 @@ class TransactionalRef[T] extends Transactional {
def swap(elem: T) = ref.set(elem)
def get: Option[T] = {
if (ref.isNull) None
else Some(ref.get)
// if (ref.isNull) None
// else
Some(ref.get)
}
def getOrWait: T = ref.getOrAwait
def getOrElse(default: => T): T = {
if (ref.isNull) default
else ref.get
// if (ref.isNull) default
//else
ref.get
}
def isDefined: Boolean = !ref.isNull

View file

@ -24,9 +24,9 @@ object Kernel extends Logging {
import Config._
val BOOT_CLASSES = config.getList("akka.boot")
val RUN_REMOTE_SERVICE = config.getBool("akka.remote.service", true)
val RUN_REMOTE_SERVICE = config.getBool("akka.remote.service", false)
val RUN_REST_SERVICE = config.getBool("akka.rest.service", false)
val STORAGE_SYSTEM = config.getString("akka.storage.system", "cassandra")
val RUN_REST_SERVICE = config.getBool("akka.rest.service", true)
val REST_HOSTNAME = config.getString("akka.rest.hostname", "localhost")
val REST_URL = "http://" + REST_HOSTNAME
val REST_PORT = config.getInt("akka.rest.port", 9998)

View file

@ -37,18 +37,18 @@
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra</artifactId>
<version>0.4.0-trunk</version>
<version>0.4.0</version>
</dependency>
<dependency>
<groupId>com.facebook</groupId>
<artifactId>thrift</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<!--dependency>
<groupId>com.facebook</groupId>
<artifactId>fb303</artifactId>
<version>1.0</version>
</dependency>
</dependency-->
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>

View file

@ -22,7 +22,8 @@ import static java.lang.String.format;
* @author Peter Veentjer
*/
public final class Ref<E> extends FastAtomicObjectMixin implements ManagedRef<E> {
final public static class NoTransactionInScopeException extends RuntimeException {}
final public static class NoTransactionInScopeException extends RuntimeException {
}
public Ref() {
Transaction tx = getThreadLocalTransaction();
@ -56,7 +57,6 @@ public final class Ref<E> extends FastAtomicObjectMixin implements ManagedRef<E>
return tranlocalRef.get();
}
@Override
public E getOrAwait() {
Transaction tx = getThreadLocalTransaction();
if (tx == null) throw new NoTransactionInScopeException();
@ -69,8 +69,6 @@ public final class Ref<E> extends FastAtomicObjectMixin implements ManagedRef<E>
return tranlocalRef.getOrAwait();
}
@Override
public E set(final E newRef) {
Transaction tx = getThreadLocalTransaction();
if (tx == null) throw new NoTransactionInScopeException();
@ -83,7 +81,6 @@ public final class Ref<E> extends FastAtomicObjectMixin implements ManagedRef<E>
return tranlocalRef.set(newRef);
}
@Override
public boolean isNull() {
Transaction tx = getThreadLocalTransaction();
if (tx == null) throw new NoTransactionInScopeException();
@ -96,7 +93,6 @@ public final class Ref<E> extends FastAtomicObjectMixin implements ManagedRef<E>
return tranlocalRef.isNull();
}
@Override
public E clear() {
Transaction tx = getThreadLocalTransaction();
if (tx == null) throw new NoTransactionInScopeException();
@ -122,7 +118,6 @@ public final class Ref<E> extends FastAtomicObjectMixin implements ManagedRef<E>
return tranlocalRef.toString();
}
@Override
public RefTranlocal<E> privatize(long readVersion) {
RefTranlocal<E> origin = (RefTranlocal<E>) load(readVersion);
if (origin == null) {

403
akka.iws
View file

@ -2,20 +2,17 @@
<project relativePaths="false" version="4">
<component name="ChangeListManager" verified="true">
<list default="true" readonly="true" id="188c966f-a83c-4d3a-9128-54d5a2947a12" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java" afterPath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala" afterPath="$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-actors/src/test/scala/InMemoryActorSpec.scala" afterPath="$PROJECT_DIR$/akka-actors/src/test/scala/InMemoryActorSpec.scala" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka.iml" afterPath="$PROJECT_DIR$/akka.iml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActiveObject.scala" afterPath="$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActiveObject.scala" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/akka-reference.conf" afterPath="$PROJECT_DIR$/config/akka-reference.conf" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-kernel/src/main/scala/Kernel.scala" afterPath="$PROJECT_DIR$/akka-kernel/src/main/scala/Kernel.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-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java" afterPath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStateful.java" afterPath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStateful.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-util/src/main/scala/Config.scala" afterPath="$PROJECT_DIR$/akka-util/src/main/scala/Config.scala" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemoryStateTest.java" afterPath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemoryStateTest.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala" afterPath="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-persistence/pom.xml" afterPath="$PROJECT_DIR$/akka-persistence/pom.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/embedded-repo/com/facebook/thrift/1.0/thrift-1.0.jar" afterPath="$PROJECT_DIR$/embedded-repo/com/facebook/thrift/1.0/thrift-1.0.jar" />
<change type="DELETED" beforePath="$PROJECT_DIR$/embedded-repo/org/apache/cassandra/cassandra/0.4.0-trunk/cassandra-0.4.0-trunk.jar" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/embedded-repo/org/apache/cassandra/cassandra/0.4.0-trunk/cassandra-0.4.0-trunk.pom" afterPath="" />
<change type="DELETED" beforePath="$PROJECT_DIR$/akka-util-java/src/main/java/se/scalablesolutions/akka/config/Ref.java" afterPath="" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala" afterPath="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStatefulNested.java" afterPath="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStatefulNested.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala" afterPath="$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala" />
</list>
<ignored path=".idea/workspace.xml" />
@ -36,7 +33,7 @@
</component>
<component name="DebuggerManager">
<line_breakpoints>
<breakpoint url="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala" line="563" class="Class at Actor.scala:560" package="">
<breakpoint url="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala" line="568" class="Class at Actor.scala:568" package="">
<option name="ENABLED" value="true" />
<option name="LOG_ENABLED" value="false" />
<option name="LOG_EXPRESSION_ENABLED" value="false" />
@ -108,91 +105,82 @@
<component name="FileColors" enabled="false" enabledForTabs="false" />
<component name="FileEditorManager">
<leaf>
<file leaf-file-name="ActiveObject.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActiveObject.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="158" column="0" selection-start="7868" selection-end="7868" vertical-scroll-proportion="-14.769231">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InMemStateful.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStateful.java">
<provider selected="true" editor-type-id="text-editor">
<state line="24" column="41" selection-start="849" selection-end="849" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InMemStatefulNested.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStatefulNested.java">
<provider selected="true" editor-type-id="text-editor">
<state line="13" column="10" selection-start="481" selection-end="481" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InMemNestedStateTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="14" selection-start="4825" selection-end="4825" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="RemoteInMemoryStateTest.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="135" column="0" selection-start="6508" selection-end="6508" vertical-scroll-proportion="0.9074253">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="RemoteServer.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/nio/RemoteServer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="98" column="43" selection-start="3734" selection-end="3734" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InMemoryStateTest.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemoryStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="81" column="14" selection-start="3613" selection-end="3613" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Transaction.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="183" column="28" selection-start="6231" selection-end="6231" vertical-scroll-proportion="0.0">
<state line="90" column="2" selection-start="2618" selection-end="2618" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="AtomicInteger.class" pinned="false" current="false" current-in-tab="false">
<entry file="jar:///System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/../Classes/classes.jar!/java/util/concurrent/atomic/AtomicInteger.class">
<file leaf-file-name="Actor.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="23" column="25" selection-start="830" selection-end="830" vertical-scroll-proportion="0.0">
<state line="399" column="55" selection-start="14532" selection-end="14532" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="TransactionManagement.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala">
<file leaf-file-name="TransactionalState.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="38" selection-start="660" selection-end="660" vertical-scroll-proportion="-11.076923">
<state line="82" column="6" selection-start="1883" selection-end="1883" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="InMemNestedStateTest.java" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="65" column="14" selection-start="3397" selection-end="3397" vertical-scroll-proportion="0.33333334">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Ref.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-util-java/src/main/java/se/scalablesolutions/akka/stm/Ref.java">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="1" selection-start="1" selection-end="1" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="Kernel.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/akka-kernel/src/main/scala/Kernel.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="32" column="1" selection-start="989" selection-end="989" 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$/akka-samples-lift/src/main/scala/akka/SimpleService.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="6" selection-start="597" selection-end="597" 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$/akka-samples-scala/src/main/scala/SimpleService.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="31" selection-start="1169" selection-end="1169" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="akka-reference.conf" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/akka-reference.conf">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="2" selection-start="386" selection-end="386" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
@ -205,25 +193,30 @@
<setting name="OPEN_NEW_TAB" value="false" />
</FindUsagesManager>
</component>
<component name="GroovyCompilerConfiguration">
<option name="excludeFromStubGeneration">
<ExcludedEntriesConfiguration />
</option>
</component>
<component name="IdeDocumentHistory">
<option name="changedFiles">
<list>
<option value="$PROJECT_DIR$/akka-persistence/src/test/scala/AllTest.scala" />
<option value="$PROJECT_DIR$/akka-persistence/src/main/scala/CassandraStorage.scala" />
<option value="$PROJECT_DIR$/akka-persistence/src/test/scala/CassandraPersistentActorSpec.scala" />
<option value="$PROJECT_DIR$/akka-persistence/src/test/scala/MongoPersistentActorSpec.scala" />
<option value="$PROJECT_DIR$/akka-persistence/src/main/scala/PersistentState.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/test/scala/InMemoryActorSpec.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActiveObject.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala" />
<option value="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java" />
<option value="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemoryStateTest.java" />
<option value="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStateful.java" />
<option value="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStatefulNested.java" />
<option value="$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java" />
<option value="$PROJECT_DIR$/akka-samples-scala/src/main/scala/SimpleService.scala" />
<option value="$PROJECT_DIR$/akka-kernel/src/main/scala/Kernel.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala" />
<option value="$PROJECT_DIR$/akka-util-java/src/main/java/se/scalablesolutions/akka/config/Ref.java" />
<option value="$PROJECT_DIR$/akka-util-java/src/main/java/se/scalablesolutions/akka/stm/Ref.java" />
<option value="$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala" />
</list>
</option>
</component>
@ -279,6 +272,10 @@
<sortByType />
</navigator>
<panes>
<pane id="Favorites" />
<pane id="ProjectPane">
<subPane />
</pane>
<pane id="Scope">
<subPane subId="Problems">
<PATH>
@ -329,40 +326,48 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="akka-fun-test-java" />
<option name="myItemId" value="akka-actors" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="se.scalablesolutions.akka.api" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="ProjectPane">
<subPane />
</pane>
<pane id="Favorites" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="GoToClass.includeJavaFiles" value="false" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.last.edited" value="Project" />
<property name="GoToClass.includeJavaFiles" value="false" />
<property name="MemberChooser.copyJavadoc" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder2" value="2" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder2" value="2" />
<property name="options.splitter.main.proportions" value="0.3" />
<property name="MemberChooser.sorted" value="false" />
<property name="options.searchVisible" value="true" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="924" />
<property name="GoToFile.includeJavaFiles" value="false" />
<property name="recentsLimit" value="5" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="113" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="130" />
<property name="options.splitter.details.proportions" value="0.2" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="133" />
<property name="MemberChooser.showClasses" value="true" />
<property name="dynamic.classpath" value="false" />
<property name="project.structure.side.proportion" value="0.0" />
<property name="options.lastSelected" value="preferences.pluginManager" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder3" value="3" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="124" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder3" value="3" />
<property name="options.lastSelected" value="preferences.intentionPowerPack" />
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder0" value="0" />
<property name="RunManagerConfig.showSettingsBeforeRunnig" value="false" />
<property name="project.structure.last.edited" value="Facets" />
<property name="options.searchVisible" value="true" />
<property name="MemberChooser.sorted" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" />
<property name="recentsLimit" value="5" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="162" />
<property name="dynamic.classpath" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="928" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="166" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
</component>
<component name="RunManager" selected="JUnit.InMemNestedStateTest">
<configuration default="true" type="Remote" factoryName="Remote">
@ -417,14 +422,6 @@
<option name="Maven.BeforeRunTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="FlexUnitRunConfigurationType" factoryName="FlexUnit">
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="TestNG" factoryName="TestNG" enabled="false" merge="false" runner="emma">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@ -456,6 +453,14 @@
<option name="Maven.BeforeRunTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="FlexUnitRunConfigurationType" factoryName="FlexUnit" air_descriptor_path="" air_program_params="" air_publisher_id="" air_root_dir_path="" class_name="" html_or_swf_file_path="" main_class_name="" method_name="" module_name="" output_log_level="" package_name="" port="0" run_mode="HtmlOrSwfFile" scope="Class" socket_policy_port="0" url_to_launch="http://">
<method>
<option name="AntTarget" enabled="false" />
<option name="BuildArtifacts" enabled="false" />
<option name="Make" enabled="true" />
<option name="Maven.BeforeRunTask" enabled="false" />
</method>
</configuration>
<configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false" runner="emma">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@ -655,27 +660,27 @@
</option>
</component>
<component name="ToolWindowManager">
<frame x="4" y="22" width="1916" height="1178" extended-state="7" />
<editor active="true" />
<frame x="5" y="22" width="1916" height="1178" extended-state="6" />
<editor active="false" />
<layout>
<window_info id="Maven Projects" 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="IDEtalk" 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="Web" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" />
<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.19239014" sideWeight="0.57749075" 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.32841328" sideWeight="0.5" order="1" side_tool="false" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25884244" sideWeight="0.57749075" 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="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.41605166" sideWeight="0.5" order="2" side_tool="false" />
<window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.41605166" sideWeight="0.5" order="2" side_tool="false" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.48214287" sideWeight="0.5" order="3" side_tool="false" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" />
<window_info id="IDEtalk Messages" 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="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="Version Control" 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="Web Preview" 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.32780612" 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="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" />
@ -714,110 +719,90 @@
<option name="FILTER_TARGETS" value="false" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala">
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStateful.java">
<provider selected="true" editor-type-id="text-editor">
<state line="34" column="20" selection-start="780" selection-end="780" vertical-scroll-proportion="0.19538671" />
</provider>
</entry>
<entry file="jar:///System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/../Classes/classes.jar!/java/lang/reflect/Method.class">
<provider selected="true" editor-type-id="text-editor">
<state line="64" column="38" selection-start="2983" selection-end="2987" vertical-scroll-proportion="-21.961538" />
</provider>
</entry>
<entry file="jar://$MAVEN_REPOSITORY$/org/scala-lang/scala-library/2.7.5/scala-library-2.7.5.jar!/scala/PartialFunction.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/src/test/scala/InMemoryActorSpec.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="205" column="6" selection-start="8078" selection-end="8078" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="513" column="108" selection-start="19179" selection-end="19179" vertical-scroll-proportion="-14.769231">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-util-java/src/main/java/se/scalablesolutions/akka/nio/protobuf/RemoteProtocol.java">
<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/src/main/scala/nio/RemoteServer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="98" column="43" selection-start="3734" selection-end="3734" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/ActiveObject.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="158" column="0" selection-start="7868" selection-end="7868" vertical-scroll-proportion="-14.769231">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="38" selection-start="660" selection-end="660" vertical-scroll-proportion="-11.076923">
<folding />
</state>
</provider>
</entry>
<entry file="jar:///System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/../Classes/classes.jar!/java/util/concurrent/atomic/AtomicInteger.class">
<provider selected="true" editor-type-id="text-editor">
<state line="23" column="25" selection-start="830" selection-end="830" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="183" column="28" selection-start="6231" selection-end="6231" vertical-scroll-proportion="0.0">
<folding />
</state>
<state line="24" column="41" selection-start="849" selection-end="849" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStatefulNested.java">
<provider selected="true" editor-type-id="text-editor">
<state line="13" column="10" selection-start="481" selection-end="481" vertical-scroll-proportion="0.0">
<folding />
</state>
<state line="13" column="10" selection-start="481" selection-end="481" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/nio/RemoteServer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="98" column="43" selection-start="3734" selection-end="3734" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemoryStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="81" column="14" selection-start="3613" selection-end="3613" vertical-scroll-proportion="0.0">
<state line="81" column="14" selection-start="3613" selection-end="3613" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="jar:///System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/../Classes/classes.jar!/java/util/concurrent/atomic/AtomicInteger.class">
<provider selected="true" editor-type-id="text-editor">
<state line="23" column="25" selection-start="830" selection-end="830" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionManagement.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="20" column="38" selection-start="660" selection-end="660" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="103" column="18" selection-start="5230" selection-end="5230" vertical-scroll-proportion="0.17503393" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/Transaction.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="2" selection-start="2618" selection-end="2618" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-kernel/src/main/scala/Kernel.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="32" column="1" selection-start="989" selection-end="989" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-samples-lift/src/main/scala/akka/SimpleService.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="18" column="6" selection-start="597" selection-end="597" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-samples-scala/src/main/scala/SimpleService.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="39" column="31" selection-start="1169" selection-end="1169" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/akka-reference.conf">
<provider selected="true" editor-type-id="text-editor">
<state line="12" column="2" selection-start="386" selection-end="386" vertical-scroll-proportion="0.0" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/actor/Actor.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="399" column="55" selection-start="14532" selection-end="14532" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-util-java/src/main/java/se/scalablesolutions/akka/stm/Ref.java">
<provider selected="true" editor-type-id="text-editor">
<state line="0" column="1" selection-start="1" selection-end="1" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-actors/src/main/scala/stm/TransactionalState.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="82" column="6" selection-start="1883" selection-end="1883" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemNestedStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="90" column="14" selection-start="4825" selection-end="4825" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/InMemStateful.java">
<provider selected="true" editor-type-id="text-editor">
<state line="24" column="41" selection-start="849" selection-end="849" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/akka-fun-test-java/src/test/java/se/scalablesolutions/akka/api/RemoteInMemoryStateTest.java">
<provider selected="true" editor-type-id="text-editor">
<state line="135" column="0" selection-start="6508" selection-end="6508" vertical-scroll-proportion="0.9074253">
<state line="65" column="14" selection-start="3397" selection-end="3397" vertical-scroll-proportion="0.33333334">
<folding />
</state>
</provider>

View file

@ -7,7 +7,7 @@
<log>
filename = "./logs/akka.log"
roll = "daily" # Options: never, hourly, daily, sunday/monday/...
roll = "daily" # Options: never, hourly, daily, sunday/monday/...
level = "debug" # Options: fatal, critical, error, warning, info, debug, trace
console = on
# syslog_host = ""
@ -17,20 +17,22 @@
<akka>
version = "0.6"
boot = ["sample.java.Boot", "sample.scala.Boot", "sample.secure.Boot", "se.foldleft.akka.demo.Boot"] # FQN to the class doing initial active object/actor
# supervisor bootstrap, should be defined in default constructor
# FQN to the class doing initial active object/actor
# supervisor bootstrap, should be defined in default constructor
boot = ["sample.java.Boot", "sample.scala.Boot", "sample.secure.Boot", "se.foldleft.akka.demo.Boot"]
<actor>
timeout = 5000 # default timeout for future based invocations
timeout = 5000 # default timeout for future based invocations
serialize-messages = off # does a deep clone of (non-primitive) messages to ensure immutability
</actor>
<stm>
service = on
restart-on-collision = off # (not implemented yet) if 'on' then it reschedules the transaction,
# if 'off' then throws an exception or rollback for user to handle
wait-for-completion = 100 # how long time in millis a transaction should be given time to complete when a collision is detected
wait-nr-of-times = 3 # the number of times it should check for completion of a pending transaction upon collision
distributed = off # not implemented yet
# if 'off' then throws an exception or rollback for user to handle
wait-for-completion = 100 # how long time in millis a transaction should be given time to complete when a collision is detected
wait-nr-of-times = 3 # the number of times it should check for completion of a pending transaction upon collision
distributed = off # not implemented yet
</stm>
<remote>

View file

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra</artifactId>
<version>0.4.0-trunk</version>
<packaging>jar</packaging>
</project>