I have an existing web application that I'm trying to deploy.

Previously, I ran Jetty in one JVM and jBoss in another.  The application
works fine.

I want to run everything in a single JVM.  That means chaning jboss.jcml to
not only deploy my EJBs, but to start up and initialize Jetty and deploy my
WAR.

First pass:


-- jboss.jcml:

  <mbean 
        code="org.jboss.jdbc.XADataSourceLoader"
        name="DefaultDomain:service=XADataSource,name=PrimixVlib">
    <attribute name="PoolName">PrimixVlib</attribute>
    <attribute
name="DataSourceClass">org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImp
l</attribute>
    <attribute
name="URL">jdbc:idb:../conf/default/vlib.properties</attribute>
    <attribute name="JDBCUser"></attribute>
    <attribute name="Password"/>
  </mbean>
  
  <mbean code="org.jboss.jetty.JettyService"
name="DefaultDomain:service=Jetty">
        <attribute
name="Configuration">file:C:/JBoss-2.2.2/conf/default/jetty-vlib.xml</attrib
ute>
  </mbean>

-- jetty-vlib.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- $Id$ -->
<!DOCTYPE Configure PUBLIC 
  "-//Mort Bay Consulting//DTD Configure 1.0//EN"
  "http://jetty.mortbay.com/configure_1_0.dtd";>

<Configure class="com.mortbay.HTTP.HttpServer">

        <Call name="addListener">
                <Arg>
                        <New class="com.mortbay.HTTP.SocketListener">
                                <Set name="Port">8080</Set>
                                <Set name="MinThreads">2</Set>
                                <Set name="MaxThreads">50</Set>
                                <Set name="MaxIdleTimeMs">50000</Set>
                        </New>
                </Arg>
        </Call>
        
  <!-- This writes a log of each incoming request to the default output,
which makes
       it easier to see what Tapestry and Jetty are up to. -->

    <Set name="LogSink">
            <New class="com.mortbay.Util.WriterLogSink"/>
        </Set>

        <Call name="addWebApplication">
                <Arg>/vlib/*</Arg>
                <Arg>../wars/Vlib.war</Arg>
                <Arg>../conf/default/jetty-default-web.xml</Arg>
        </Call>
        
  <Call name="addContext">
    <Arg>/private-assets/*</Arg>
    <Set name="ResourceBase">.build/private-assets</Set>
    <Set name="ServingResources">TRUE</Set>
  </Call>
  
</Configure>

I copied my existing Vlib.war to c:/jboss2.2.2/wars.

First pass results:

Static portions of my application worked correctly, but I got
NoClassDefFound exceptions when I hit portions of the app that involved
EJBs.

-- Second pass:

I changed my Vlib.war file, adding a manifest:

Manifest-Version: 1.0
Class-Path: ./lib/VlibBeans.jar

I also copied VlibBean.jar into WEB-INF/lib

Results are similar, except now I get a class cast exception:

Name: com.primix.tapestry.ApplicationRuntimeException 
Message: Object vlib/Operations is not type
com.primix.vlib.ejb.IOperationsHome. 
Name: java.lang.ClassCastException 
Message: 
Trace: 
*
com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemo
teObject.java:296) 
*       javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)

*
com.primix.vlib.VirtualLibraryEngine.findNamedObject(src/com/primix/vlib/Vir
tualLibraryEngine.java:354) 


Would things work better if I deployed as an EAR?  (I haven't created
Makefiles for EARs yet).  Can you autodeploy EAR files, or do you have to
use the J2EEDeployer MBean?

Howard Ship
Senior Consultant
PRIMIX
311 Arsenal Street
Watertown, MA 02472
www.primix.com
[EMAIL PROTECTED]
(617) 923-6639


_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to