Ok, finally figured out how to get it to work:

1.  Create a seperate project for the Hivemind related stuff.
2.  Create a META-INF/hivemodule.xml file
3.  Package it as a JAR file. (just the hivemodule.xml file for reasons below)
4.  include that JAR file in the classpath of my Tapestry project.
5.  Goto the Order and Export tab under Java Build Path and move the JAR file up above hivemind.jar in the order
6.  Add the Hivemind related project under the Java Build path "Projects" tab (so that you can easily make changes to the project and have the changes be available without having to re-JAR the project).

Now it works.  The problem is that hivemind.jar needs to be under WEB-INF/lib to process the hivemind descriptors as part of the Tapestry Project (builder.processModule(resolver, new FileResource("context/WEB-INF/HiveTest.xml"));  But the Spindle Jetty Plugin loades the hivemind.jar file twice (once because it is included in the Eclipse path and a second time because it is in WEB-INF/lib and this causes conflicts).


Howard Lewis Ship wrote:
I'm concerned about the version of Javassist, since I had problems
with bugs in it.  I belieive HiveMind uses 2.6.


On Thu, 14 Oct 2004 17:04:24 -0300, Adam Greene
<[EMAIL PROTECTED]> wrote:
  
 Ok, wrote a simply main into my globlal class and ran it as a Java
Application under Eclipse and had no problem making it work.


 
 Howard Lewis Ship wrote:
 
 That's a real puzzler! Looks like two different copies of AdderImpl have
been loaded into memory (can't figure out why) and they are competing. I
believe your code that passes in Adder.class is passing in a different
version (again, can't figure out why). Please look into where hivemind.jar
is on the classpath, where Adder.class is on the classpath. Sometimes
servlet containers break the normal rules on classloader search paths. This
does look very similar to the code I'm using on my project (well, except
that I subclass HiveMindFilter to create my Registry) and it, no surprises,
works flawlessly. On Thu, 14 Oct 2004 16:22:33 -0300, Adam Greene
<[EMAIL PROTECTED]> wrote: 
 I have added the following code to my Global object in Tapestry 3.0 running
with the Jetty Plugin from Geoff Longman: public Global() { super();
RegistryBuilder builder = new RegistryBuilder(); ClassResolver resolver =
new DefaultClassResolver(); builder.processModules(resolver);
builder.processModule(resolver, new
FileResource("context/WEB-INF/HiveTest.xml")); registry =
builder.constructRegistry(Locale.getDefault()); } public Adder getAdder() {
return (Adder) registry.getService(Adder.class); } and when I call
getAdder(), I get this error: Service HiveTest.Adder does not implement the
requested interface (org.apache.hivemind.examples.Adder). The declared
service interface type is org.apache.hivemind.examples.Adder My HiveTest.xml
is: <module id="HiveTest" version="1.0.0"> <service-point id="Adder"
interface="org.apache.hivemind.examples.Adder"> <create-instance
class="org.apache.hivemind.examples.impl.AdderImpl"/> <interceptor
service-id="hivemind.LoggingInterceptor"/> </service-point> </module> Anyone
got any ideas?
--------------------------------------------------------------------- To
unsubscribe, e-mail: [EMAIL PROTECTED] For
additional commands, e-mail: [EMAIL PROTECTED] 
 --------------------------------------------------------------------- To
unsubscribe, e-mail: [EMAIL PROTECTED] For
additional commands, e-mail: [EMAIL PROTECTED] 
    


  

--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to