commented out camel stuff for now

This commit is contained in:
Jonas Boner 2009-05-09 20:40:36 +02:00
parent b1d91818ef
commit ffdda0a423
7 changed files with 160 additions and 104 deletions

176
akka.iws
View file

@ -2,8 +2,8 @@
<project relativePaths="false" version="4"> <project relativePaths="false" version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" name="Default" comment="" /> <list default="true" name="Default" comment="" />
<ignored path=".idea/workspace.xml" />
<ignored path="akka.iws" /> <ignored path="akka.iws" />
<ignored path=".idea/workspace.xml" />
</component> </component>
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" /> <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
<component name="Commander"> <component name="Commander">
@ -79,7 +79,16 @@
<file leaf-file-name="ActiveObject.scala" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="ActiveObject.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="51" column="61" selection-start="1770" selection-end="1770" vertical-scroll-proportion="0.0"> <state line="35" column="6" selection-start="1232" selection-end="1232" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="GenericServer.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="11" selection-start="371" selection-end="371" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -88,16 +97,16 @@
<file leaf-file-name="ActiveObjectGuiceConfiguratorForJava.scala" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="ActiveObjectGuiceConfiguratorForJava.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfiguratorForJava.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfiguratorForJava.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="19" column="6" selection-start="533" selection-end="533" vertical-scroll-proportion="0.0"> <state line="95" column="1" selection-start="4052" selection-end="4052" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="ActiveObjectGuiceConfigurator.scala" pinned="false" current="true" current-in-tab="true"> <file leaf-file-name="ActiveObjectGuiceConfigurator.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfigurator.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfigurator.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="34" column="47" selection-start="0" selection-end="7860" vertical-scroll-proportion="0.39889196"> <state line="118" column="40" selection-start="5650" selection-end="5650" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -112,10 +121,28 @@
</provider> </provider>
</entry> </entry>
</file> </file>
<file leaf-file-name="CamelSpec.scala" pinned="false" current="false" current-in-tab="false"> <file leaf-file-name="CamelSpec.scala" pinned="false" current="true" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/CamelSpec.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/test/scala/CamelSpec.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="26" column="82" selection-start="0" selection-end="3027" vertical-scroll-proportion="0.0"> <state line="92" column="0" selection-start="2771" selection-end="2771" vertical-scroll-proportion="0.3184584">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="GenericServerContainerSuite.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/GenericServerContainerSuite.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="6" selection-start="352" selection-end="352" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="SupervisorAwareCamelContext.scala" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/camel/SupervisorAwareCamelContext.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="0" selection-start="248" selection-end="248" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
@ -279,6 +306,36 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" /> <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT> </PATH_ELEMENT>
</PATH> </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-kernel" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="kernel" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="main" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="scala" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="camel" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH> <PATH>
<PATH_ELEMENT> <PATH_ELEMENT>
<option name="myItemId" value="akka" /> <option name="myItemId" value="akka" />
@ -321,19 +378,19 @@
</navigator> </navigator>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="project.structure.proportion" value="0.15" />
<property name="GoToClass.includeJavaFiles" value="false" /> <property name="GoToClass.includeJavaFiles" value="false" />
<property name="project.structure.proportion" value="0.15" />
<property name="MemberChooser.copyJavadoc" value="false" /> <property name="MemberChooser.copyJavadoc" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder2" value="2" /> <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="options.splitter.main.proportions" value="0.3" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder2" value="2" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="965" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="965" />
<property name="GoToFile.includeJavaFiles" value="false" /> <property name="GoToFile.includeJavaFiles" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="269" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="269" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="286" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="286" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="293" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="options.splitter.details.proportions" value="0.2" /> <property name="options.splitter.details.proportions" value="0.2" />
<property name="GoToClass.includeLibraries" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="293" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder3" value="3" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder3" value="3" />
<property name="MemberChooser.showClasses" value="true" /> <property name="MemberChooser.showClasses" value="true" />
@ -345,12 +402,12 @@
<property name="RunManagerConfig.showSettingsBeforeRunnig" value="false" /> <property name="RunManagerConfig.showSettingsBeforeRunnig" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder0" value="0" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder0" value="0" />
<property name="project.structure.last.edited" value="Modules" /> <property name="project.structure.last.edited" value="Modules" />
<property name="options.searchVisible" value="true" />
<property name="MemberChooser.sorted" value="false" /> <property name="MemberChooser.sorted" value="false" />
<property name="options.searchVisible" value="true" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="301" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="301" />
<property name="dynamic.classpath" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="972" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="972" />
<property name="dynamic.classpath" value="false" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="308" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="308" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" /> <property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
</component> </component>
@ -495,9 +552,9 @@
</method> </method>
</configuration> </configuration>
<list size="3"> <list size="3">
<item index="0" class="java.lang.String" itemvalue="Application.Kernel" /> <item index="0" class="java.lang.String" itemvalue="Scala Console.Scala Console" />
<item index="1" class="java.lang.String" itemvalue="JUnit.CamelSpec" /> <item index="1" class="java.lang.String" itemvalue="Application.Kernel" />
<item index="2" class="java.lang.String" itemvalue="Scala Console.Scala Console" /> <item index="2" class="java.lang.String" itemvalue="JUnit.CamelSpec" />
</list> </list>
<configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false"> <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
<Host>localhost</Host> <Host>localhost</Host>
@ -556,7 +613,7 @@
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="1" side_tool="false" /> <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32879376" sideWeight="0.5" order="1" side_tool="false" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24945295" sideWeight="0.84143966" 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.24945295" sideWeight="0.84143966" order="0" 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="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="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.30229592" sideWeight="0.5" order="11" side_tool="false" /> <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.30229592" sideWeight="0.5" order="11" 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="12" 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="12" 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="6" 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="6" side_tool="false" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24945927" sideWeight="0.6875" order="1" side_tool="false" /> <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24945927" sideWeight="0.6875" order="1" side_tool="false" />
@ -634,13 +691,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/api-java/java/se/scalablesolutions/akka/api/ActiveObjectGuiceConfigurator.java">
<provider selected="true" editor-type-id="text-editor">
<state line="6" column="36" selection-start="118" selection-end="118" vertical-scroll-proportion="0.20125785">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/util-java/src/main/java/se/scalablesolutions/akka/annotation/immutable.java"> <entry file="file://$PROJECT_DIR$/util-java/src/main/java/se/scalablesolutions/akka/annotation/immutable.java">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="10" column="18" selection-start="210" selection-end="210" vertical-scroll-proportion="0.0"> <state line="10" column="18" selection-start="210" selection-end="210" vertical-scroll-proportion="0.0">
@ -648,27 +698,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/util-java/src/main/java/se/scalablesolutions/akka/kernel/config/DependencyBinding.java">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="13" selection-start="186" selection-end="186" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/camel/ActiveObjectConsumer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="10" column="1" selection-start="273" selection-end="273" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="16" column="22" selection-start="510" selection-end="510" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/pom.xml"> <entry file="file://$PROJECT_DIR$/kernel/pom.xml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="73" column="4" selection-start="2212" selection-end="2212" vertical-scroll-proportion="0.08803301"> <state line="73" column="4" selection-start="2212" selection-end="2212" vertical-scroll-proportion="0.08803301">
@ -683,20 +712,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/collection/Vector.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="298" column="1" selection-start="8660" selection-end="8660" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="51" column="61" selection-start="1770" selection-end="1770" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/SupervisorSpec.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/test/scala/SupervisorSpec.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="18" column="29" selection-start="528" selection-end="528" vertical-scroll-proportion="0.0"> <state line="18" column="29" selection-start="528" selection-end="528" vertical-scroll-proportion="0.0">
@ -704,23 +719,58 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/CamelSpec.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/main/scala/collection/Vector.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="26" column="82" selection-start="0" selection-end="3027" vertical-scroll-proportion="0.0"> <state line="298" column="1" selection-start="8660" selection-end="8660" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfiguratorForJava.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfiguratorForJava.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="19" column="6" selection-start="533" selection-end="533" vertical-scroll-proportion="0.0"> <state line="95" column="1" selection-start="4052" selection-end="4052" vertical-scroll-proportion="0.0">
<folding /> <folding />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfigurator.scala"> <entry file="file://$PROJECT_DIR$/kernel/src/main/scala/config/ActiveObjectGuiceConfigurator.scala">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state line="34" column="47" selection-start="0" selection-end="7860" vertical-scroll-proportion="0.39889196"> <state line="118" column="40" selection-start="5650" selection-end="5650" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/ActiveObject.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="35" column="6" selection-start="1232" selection-end="1232" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/GenericServer.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="14" column="11" selection-start="371" selection-end="371" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/GenericServerContainerSuite.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="17" column="6" selection-start="352" selection-end="352" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/main/scala/camel/SupervisorAwareCamelContext.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="9" column="0" selection-start="248" selection-end="248" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/kernel/src/test/scala/CamelSpec.scala">
<provider selected="true" editor-type-id="text-editor">
<state line="92" column="0" selection-start="2771" selection-end="2771" vertical-scroll-proportion="0.3184584">
<folding /> <folding />
</state> </state>
</provider> </provider>

View file

@ -67,7 +67,7 @@ define 'akka' do
desc 'Akka Actor Kernel core implementation' desc 'Akka Actor Kernel core implementation'
define 'kernel' do define 'kernel' do
compile.with(AKKA_UTIL_JAVA, GUICEYFRUIT, AOPALLIANCE, NETTY, JERSEY, GRIZZLY, CASSANDRA, THRIFT, FB303, CAMEL, SLF4J, COMMONS_LOGGING, CONFIGGY, JUNIT4RUNNER, JUNIT4, SCALATEST) compile.with(AKKA_UTIL_JAVA, GUICEYFRUIT, AOPALLIANCE, NETTY, JERSEY, GRIZZLY, CASSANDRA, THRIFT, FB303, CAMEL, SLF4J, GOOGLE_COLLECT, CGLIB, JSR_250, COMMONS_LOGGING, CONFIGGY, JUNIT4RUNNER, JUNIT4, SCALATEST)
test.using :junit test.using :junit
package :jar package :jar
end end

View file

@ -56,8 +56,8 @@ object ActiveObject {
proxy).asInstanceOf[T] proxy).asInstanceOf[T]
} }
def newInstance[T](intf: Class[_], target: AnyRef, timeout: Int, conf: ActiveObjectGuiceConfigurator): T = { def newInstance[T](intf: Class[_], target: AnyRef, timeout: Int): T = {
val proxy = new ActiveObjectProxy(intf, target.getClass, timeout, conf) val proxy = new ActiveObjectProxy(intf, target.getClass, timeout)
proxy.setTargetInstance(target) proxy.setTargetInstance(target)
supervise(proxy) supervise(proxy)
newInstance(intf, proxy) newInstance(intf, proxy)
@ -85,7 +85,7 @@ object ActiveObject {
* @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a> * @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a>
*/ */
// FIXME: use interface for ActiveObjectGuiceConfigurator // FIXME: use interface for ActiveObjectGuiceConfigurator
class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: Int, conf: ActiveObjectGuiceConfigurator) extends InvocationHandler { class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: Int) extends InvocationHandler {
import ActiveObject.threadBoundTx import ActiveObject.threadBoundTx
private[this] var activeTx: Option[Transaction] = None private[this] var activeTx: Option[Transaction] = None
@ -131,10 +131,12 @@ class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: I
private def invoke(invocation: Invocation): AnyRef = { private def invoke(invocation: Invocation): AnyRef = {
val result: AnyRef = val result: AnyRef =
/*
if (invocation.target.isInstanceOf[MessageDriven] && if (invocation.target.isInstanceOf[MessageDriven] &&
invocation.method.getName == "onMessage") { invocation.method.getName == "onMessage") {
val m = invocation.method val m = invocation.method
val endpointName = m.getDeclaringClass.getName + "." + m.getName
val endpointName = m.getDeclaringClass.getName + "." + m.getName
val activeObjectName = m.getDeclaringClass.getName val activeObjectName = m.getDeclaringClass.getName
val endpoint = conf.getRoutingEndpoint(conf.lookupUriFor(m)) val endpoint = conf.getRoutingEndpoint(conf.lookupUriFor(m))
val producer = endpoint.createProducer val producer = endpoint.createProducer
@ -147,7 +149,8 @@ class ActiveObjectProxy(val intf: Class[_], val target: Class[_], val timeout: I
// FIXME: need some timeout and future here... // FIXME: need some timeout and future here...
exchange.getOut.getBody exchange.getOut.getBody
} else if (invocation.method.isAnnotationPresent(Annotations.oneway)) { } else */
if (invocation.method.isAnnotationPresent(Annotations.oneway)) {
server ! invocation server ! invocation
} else { } else {
val result: ErrRef[AnyRef] = val result: ErrRef[AnyRef] =
@ -225,11 +228,11 @@ private[kernel] class Dispatcher(val targetName: String) extends GenericServer {
case 'exit => case 'exit =>
exit; reply() exit; reply()
case exchange: Exchange => /* case exchange: Exchange =>
println("=============> Exchange From Actor: " + exchange) println("=============> Exchange From Actor: " + exchange)
val invocation = exchange.getIn.getBody.asInstanceOf[Invocation] val invocation = exchange.getIn.getBody.asInstanceOf[Invocation]
invocation.invoke invocation.invoke
*/
case unexpected => case unexpected =>
throw new ActiveObjectException("Unexpected message [" + unexpected + "] to [" + this + "] from [" + sender + "]") throw new ActiveObjectException("Unexpected message [" + unexpected + "] to [" + this + "] from [" + sender + "]")
} }

View file

@ -1,4 +1,4 @@
//** /**
* Copyright (C) 2009 Scalable Solutions. * Copyright (C) 2009 Scalable Solutions.
*/ */
@ -6,6 +6,7 @@ package se.scalablesolutions.akka.kernel.camel
import org.apache.camel.impl.{DefaultCamelContext, DefaultEndpoint, DefaultComponent} import org.apache.camel.impl.{DefaultCamelContext, DefaultEndpoint, DefaultComponent}
import se.scalablesolutions.akka.kernel.{Supervisor, Logging} import se.scalablesolutions.akka.kernel.{Supervisor, Logging}
/** /**
* @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a> * @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a>
*/ */

View file

@ -4,7 +4,6 @@
package se.scalablesolutions.akka.kernel.config package se.scalablesolutions.akka.kernel.config
import com.google.inject._ import com.google.inject._
import com.google.inject.jsr250.ResourceProviderFactory import com.google.inject.jsr250.ResourceProviderFactory
@ -18,7 +17,6 @@ import se.scalablesolutions.akka.kernel.ActiveObjectProxy
import se.scalablesolutions.akka.kernel.Supervisor import se.scalablesolutions.akka.kernel.Supervisor
import se.scalablesolutions.akka.kernel.config.ScalaConfig._ import se.scalablesolutions.akka.kernel.config.ScalaConfig._
/** /**
* @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a> * @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a>
*/ */
@ -33,7 +31,7 @@ class ActiveObjectGuiceConfigurator extends Logging {
private var configRegistry = new HashMap[Class[_], Component] // TODO is configRegistry needed? private var configRegistry = new HashMap[Class[_], Component] // TODO is configRegistry needed?
private var activeObjectRegistry = new HashMap[String, Tuple3[Class[_], Class[_], ActiveObjectProxy]] private var activeObjectRegistry = new HashMap[String, Tuple3[Class[_], Class[_], ActiveObjectProxy]]
private var activeObjectFactory = new ActiveObjectFactory private var activeObjectFactory = new ActiveObjectFactory
private var camelContext = new DefaultCamelContext(); // private var camelContext = new DefaultCamelContext();
private var modules = new java.util.ArrayList[Module] private var modules = new java.util.ArrayList[Module]
private var methodToUriRegistry = new HashMap[Method, String] private var methodToUriRegistry = new HashMap[Method, String]
@ -41,10 +39,11 @@ class ActiveObjectGuiceConfigurator extends Logging {
injector.getInstance(clazz).asInstanceOf[T] injector.getInstance(clazz).asInstanceOf[T]
} }
/*
def getRoutingEndpoint(uri: String): Endpoint = synchronized { def getRoutingEndpoint(uri: String): Endpoint = synchronized {
camelContext.getEndpoint(uri) camelContext.getEndpoint(uri)
} }
def getRoutingEndpoints: java.util.Collection[Endpoint] = synchronized { def getRoutingEndpoints: java.util.Collection[Endpoint] = synchronized {
camelContext.getEndpoints camelContext.getEndpoints
} }
@ -52,7 +51,7 @@ class ActiveObjectGuiceConfigurator extends Logging {
def getRoutingEndpoints(uri: String): java.util.Collection[Endpoint] = synchronized { def getRoutingEndpoints(uri: String): java.util.Collection[Endpoint] = synchronized {
camelContext.getEndpoints(uri) camelContext.getEndpoints(uri)
} }
*/
/** /**
* Returns the active abject that has been put under supervision for the class specified. * Returns the active abject that has been put under supervision for the class specified.
* *
@ -108,18 +107,18 @@ class ActiveObjectGuiceConfigurator extends Logging {
injector = Guice.createInjector(modules) injector = Guice.createInjector(modules)
var workers = new java.util.ArrayList[Worker] var workers = new java.util.ArrayList[Worker]
for (component <- components) { for (component <- components) {
val activeObjectProxy = new ActiveObjectProxy(component.intf, component.target, component.timeout, this) val activeObjectProxy = new ActiveObjectProxy(component.intf, component.target, component.timeout)
workers.add(Worker(activeObjectProxy.server, component.lifeCycle)) workers.add(Worker(activeObjectProxy.server, component.lifeCycle))
activeObjectRegistry.put(component.name, (component.intf, component.target, activeObjectProxy)) activeObjectRegistry.put(component.name, (component.intf, component.target, activeObjectProxy))
camelContext.getRegistry.asInstanceOf[JndiRegistry].bind(component.name, activeObjectProxy) // camelContext.getRegistry.asInstanceOf[JndiRegistry].bind(component.name, activeObjectProxy)
for (method <- component.intf.getDeclaredMethods.toList) { // for (method <- component.intf.getDeclaredMethods.toList) {
registerMethodForUri(method, component.name) // registerMethodForUri(method, component.name)
} // }
log.debug("Registering active object in Camel context under the name [%s]", component.target.getName) // log.debug("Registering active object in Camel context under the name [%s]", component.target.getName)
} }
supervisor = activeObjectFactory.supervise(restartStrategy, workers) supervisor = activeObjectFactory.supervise(restartStrategy, workers)
camelContext.addComponent(AKKA_CAMEL_ROUTING_SCHEME, new ActiveObjectComponent(this)) // camelContext.addComponent(AKKA_CAMEL_ROUTING_SCHEME, new ActiveObjectComponent(this))
camelContext.start // camelContext.start
this this
} }
@ -154,12 +153,12 @@ class ActiveObjectGuiceConfigurator extends Logging {
* } * }
* }).inject().supervise(); * }).inject().supervise();
* </pre> * </pre>
*/ *
def addRoutes(routes: Routes): ActiveObjectGuiceConfigurator = synchronized { def addRoutes(routes: Routes): ActiveObjectGuiceConfigurator = synchronized {
camelContext.addRoutes(routes) camelContext.addRoutes(routes)
this this
} }
*/
def getGuiceModules = modules def getGuiceModules = modules
def reset = synchronized { def reset = synchronized {
@ -169,11 +168,11 @@ class ActiveObjectGuiceConfigurator extends Logging {
methodToUriRegistry = new HashMap[Method, String] methodToUriRegistry = new HashMap[Method, String]
injector = null injector = null
restartStrategy = null restartStrategy = null
camelContext = new DefaultCamelContext // camelContext = new DefaultCamelContext
} }
def stop = synchronized { def stop = synchronized {
camelContext.stop // camelContext.stop
supervisor.stop supervisor.stop
} }

View file

@ -27,12 +27,12 @@ class ActiveObjectGuiceConfiguratorForJava {
private var configRegistry = new HashMap[Class[_], Component] // TODO is configRegistry needed? private var configRegistry = new HashMap[Class[_], Component] // TODO is configRegistry needed?
private var activeObjectRegistry = new HashMap[String, Tuple2[Class[_], ActiveObjectProxy]] private var activeObjectRegistry = new HashMap[String, Tuple2[Class[_], ActiveObjectProxy]]
private var activeObjectFactory = new ActiveObjectFactory private var activeObjectFactory = new ActiveObjectFactory
private var camelContext = new DefaultCamelContext(); //private var camelContext = new DefaultCamelContext();
def getExternalDependency[T](clazz: Class[T]): T = synchronized { def getExternalDependency[T](clazz: Class[T]): T = synchronized {
injector.getInstance(clazz).asInstanceOf[T] injector.getInstance(clazz).asInstanceOf[T]
} }
/*
def getRoutingEndpoint(uri: String): Endpoint = synchronized { def getRoutingEndpoint(uri: String): Endpoint = synchronized {
camelContext.getEndpoint(uri) camelContext.getEndpoint(uri)
} }
@ -44,7 +44,7 @@ class ActiveObjectGuiceConfiguratorForJava {
def getRoutingEndpoints(uri: String): Collection[Endpoint] = synchronized { def getRoutingEndpoints(uri: String): Collection[Endpoint] = synchronized {
camelContext.getEndpoints(uri) camelContext.getEndpoints(uri)
} }
*/
/** /**
* Returns the active abject that has been put under supervision for the class specified. * Returns the active abject that has been put under supervision for the class specified.
* *
@ -84,19 +84,18 @@ class ActiveObjectGuiceConfiguratorForJava {
} }
def supervise: ActiveObjectGuiceConfiguratorForJava = synchronized { def supervise: ActiveObjectGuiceConfiguratorForJava = synchronized {
/*
if (injector == null) inject() if (injector == null) inject()
injector = Guice.createInjector(modules) injector = Guice.createInjector(modules)
val workers = new java.util.ArrayList[se.scalablesolutions.akka.kernel.config.ScalaConfig.Worker] val workers = new java.util.ArrayList[se.scalablesolutions.akka.kernel.config.ScalaConfig.Worker]
for (c <- components) { for (c <- components) {
val activeObjectProxy = new ActiveObjectProxy(c.intf, c.target, c.timeout, this) val activeObjectProxy = new ActiveObjectProxy(c.intf, c.target, c.timeout)
workers.add(c.newWorker(activeObjectProxy)) workers.add(c.newWorker(activeObjectProxy))
activeObjectRegistry.put(c.name, (c.intf, activeObjectProxy)) activeObjectRegistry.put(c.name, (c.intf, activeObjectProxy))
camelContext.getRegistry.asInstanceOf[JndiRegistry].bind(c.intf.getName, activeObjectProxy) // camelContext.getRegistry.asInstanceOf[JndiRegistry].bind(c.intf.getName, activeObjectProxy)
} }
supervisor = activeObjectFactory.supervise(restartStrategy.transform, workers) supervisor = activeObjectFactory.supervise(restartStrategy.transform, workers)
camelContext.start // camelContext.start
*/this this
} }
@ -131,11 +130,12 @@ class ActiveObjectGuiceConfiguratorForJava {
* } * }
* }).inject().supervise(); * }).inject().supervise();
* </pre> * </pre>
*/ *
def addRoutes(routes: Routes): ActiveObjectGuiceConfiguratorForJava = synchronized { def addRoutes(routes: Routes): ActiveObjectGuiceConfiguratorForJava = synchronized {
camelContext.addRoutes(routes) camelContext.addRoutes(routes)
this this
} }
*/
def getGuiceModules = modules def getGuiceModules = modules
@ -145,11 +145,11 @@ class ActiveObjectGuiceConfiguratorForJava {
activeObjectRegistry = new HashMap[String, Tuple2[Class[_], ActiveObjectProxy]] activeObjectRegistry = new HashMap[String, Tuple2[Class[_], ActiveObjectProxy]]
injector = null injector = null
restartStrategy = null restartStrategy = null
camelContext = new DefaultCamelContext //camelContext = new DefaultCamelContext
} }
def stop = synchronized { def stop = synchronized {
camelContext.stop //camelContext.stop
supervisor.stop supervisor.stop
} }
} }

View file

@ -33,7 +33,9 @@ import org.apache.camel.impl.DefaultCamelContext
class CamelSpec extends Spec with ShouldMatchers { class CamelSpec extends Spec with ShouldMatchers {
describe("A Camel routing scheme") { describe("A Camel routing scheme") {
it("dummy") {
}
/*
it("should route message from actor A to actor B") { it("should route message from actor A to actor B") {
val latch = new CountDownLatch(1); val latch = new CountDownLatch(1);
@ -62,10 +64,10 @@ class CamelSpec extends Spec with ShouldMatchers {
latch.countDown latch.countDown
} }
}) })
} }}
}).supervise ).supervise
val endpoint = conf.getRoutingEndpoint("akka:camelfoo.foo") //val endpoint = conf.getRoutingEndpoint("akka:camelfoo.foo")
// println("----- " + endpoint) // println("----- " + endpoint)
// val exchange = endpoint.createExchange // val exchange = endpoint.createExchange
// println("----- " + exchange) // println("----- " + exchange)
@ -87,6 +89,7 @@ class CamelSpec extends Spec with ShouldMatchers {
// //
// conf.stop // conf.stop
} }
*/
} }
} }