tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Gainty <mgai...@hotmail.com>
Subject RE: using glassfish remoting in tomcat 6
Date Fri, 24 Apr 2009 17:32:42 GMT

Richard-

the class is org.apache.naming.factory.ResourceRef and the author is Remy Maucherat remm@apache.org

package org.apache.naming;
public class ResourceRef
    extends Reference {
    // -------------------------------------------------------------- Constants
    /*** Default factory for this reference.*/
    public static final String DEFAULT_FACTORY = 
        org.apache.naming.factory.Constants.DEFAULT_RESOURCE_FACTORY;

whereas DEFAULT_RESOURCE_FACTORY is defined as CONSTANT in Constants class

package org.apache.naming.factory;
public final class Constants {
    public static final String Package = "org.apache.naming.factory";
    public static final String DEFAULT_RESOURCE_FACTORY = 
        Package + ".ResourceFactory";

1)
you can ask remm to fix the code 
2)
OR you can download the code and fix it yourself
http://www.uniontransit.com/apache/tomcat/tomcat-6/v6.0.18/src

you can build it extracting all bits from naming-factory.jar (usually in /lib or /common/lib)
jar -xvf naming-factory.jar .\SomeTestFolder
if you cant locate naming-factory.jar in $TOMCAT_HOME\lib or $TOMCAT_HOME\common\lib Eclipse
has a naming-facctory.jar located at
http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tomcat/naming-factory.jar?view=log

make the edits (i think you can just modify the Package and or DEFAULT_RESOURCE_FACTORY in
org.apache.naming.factory.Constants 

compile the org.apache.naming.factory.Constants.java
copy to location of unjar'ed org.apache.naming.factory.Constants.class

if necessary 
compile the org.apache.naming.ResourceRef.java
copy to location of unjar'ed org.apache.naming.ResourceRef.class

--jar it up
jar -cvf naming-factory.jar .\*.*
copy naming-factory.jar to location where you found naming-factory.jar
(usually $TOMCAT_HOME\lib or $TOMCAT_HOME\common\lib)

HTH
Martin 
______________________________________________ 
Disclaimer and Confidentiality/Verzicht und Vertraulichkeitanmerkung / Note de déni et de
confidentialité 
This message is confidential. If you should not be the intended receiver, then we ask politely
to report. Each unauthorized forwarding or manufacturing of a copy is inadmissible. This message
serves only for the exchange of information and has no legal binding effect. Due to the easy
manipulation of emails we cannot take responsibility over the the contents.
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten
wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist
unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet
keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen
wir keine Haftung fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire
prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe
quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information
seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les
email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune
responsabilité pour le contenu fourni.






> Date: Fri, 24 Apr 2009 12:07:32 -0400
> Subject: using glassfish remoting in tomcat 6
> From: richajon@gmail.com
> To: users@tomcat.apache.org
> 
> Hi
> 
> I am sure this is a common issue but I looked it up on google and nobody
> seem to have a real good fix about this. Or maybe there is something I don't
> understand something... ? here is my problem:
> 
> I try to use the glassfish appserv-rt.jar client library to enable my webapp
> to call EJBs remotely in my tomcat 6 context.
> 
> With a simple test application. I can successfully call an EJB from a
> servlet.
> 
> I place my jars (javaee.jar and appserver-rt and the necessary dependencies)
> in my WEB-INF/lib/ direcectory. I build the InitialContext by hand and set
> the properties that will serve to initialise the jndi jndi name resolver.
> This is my base app I used test that everything is working.
> 
> In another app. With more complex libraries (ex: Seam, richfaces, etc). I
> have a classloading issue. If I put the appserver-rt.jar and javaee.jar in
> my web-app /WEB-INF/lib directory the web-app won't deploy because the
> classloading is not done in the right order so when it's some on my seam
> componenent instantiate and I try to fill some cache from the EJBs, the call
> fails because the appserver-rt-jar as not yet been loader (or I guess, is
> not loaded by the class loader because of the javax.* java.* constraint of
> the servlet specification?)
> 
> I tried to move things arround... and put the appserver-rt.jar in
> CATALINA_BASE/lib forlder
> 
> If I put the javaee.jar in CATALINA_BASE/lib/ there is no problem.
> If I put the appserver-rt file into the CATALINA_BASE/lib/ folder the server
> does not start because of a NamingException. I am not sure I understand why
> there seems to be a problem/conlict between the ressourcefactory in the
> appserver-rt.jar and tomcat's resourcefactory. Anyone know how to get
> arround this problem in a clean way? I am seen solutions like renaming the
> appserver-rt.jar to zappserver-rt.jar so it is loader last... but this is
> not a clean solution.
> 
> Here is the output of my tomcat server when I start it with the
> appserver-rt.jar in the CATALINA_BASE/LIB foder:
> 
> E:\dev\runtime\apache-tomcat-6.0.18\bin>catalina.bat run
> Using CATALINA_BASE:   E:\dev\runtime\apache-tomcat-6.0.18
> Using CATALINA_HOME:   E:\dev\runtime\apache-tomcat-6.0.18
> Using CATALINA_TMPDIR: E:\dev\runtime\apache-tomcat-6.0.18\temp
> Using JRE_HOME:        E:\dev\lib\jdk1.6.0_13
> Apr 24, 2009 12:04:12 PM org.apache.catalina.core.AprLifecycleListener init
> INFO: Cannot find message associated with key aprListener.aprInit
> Apr 24, 2009 12:04:12 PM org.apache.coyote.http11.Http11Protocol init
> INFO: PWC4652: Initializing null on port 8080
> Apr 24, 2009 12:04:12 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 1187 ms
> Apr 24, 2009 12:04:13 PM
> org.apache.catalina.mbeans.GlobalResourcesLifecycleListener createMBeans
> SEVERE: Exception processing Global JNDI Resources
> javax.naming.NamingException: Cannot create resource instance
>         at
> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:156)
>         at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:814)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:174)
>         at
> org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:179)
>         at
> org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.createMBeans(GlobalResourcesLifecycleListener.java:149)
>         at
> org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.lifecycleEvent(GlobalResourcesLifecycleListener.java:121)
>         at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:143)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2310)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:575)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Apr 24, 2009 12:04:13 PM org.apache.catalina.core.StandardService start
> INFO: PWC1377: Starting service Catalina
> javax.naming.NamingException: Cannot create resource instance
>         at
> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:156)
>         at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:814)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:174)
>         at
> org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:279)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1226)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:533)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:515)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2317)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:575)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> UserDatabaseRealm[Catalina]: PWC2101: Exception looking up UserDatabase
> under key UserDatabase
> javax.naming.NamingException: Cannot create resource instance
>         at
> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:156)
>         at
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:814)
>         at org.apache.naming.NamingContext.lookup(NamingContext.java:174)
>         at
> org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:279)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1226)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:533)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:515)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2317)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:575)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Apr 24, 2009 12:04:13 PM org.apache.catalina.startup.Catalina start
> SEVERE: Catalina.start:
> LifecycleException:  PWC2102: No UserDatabase component found under key
> UserDatabase
>         at
> org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:286)
>         at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1226)
>         at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:533)
>         at
> org.apache.catalina.core.StandardService.start(StandardService.java:515)
>         at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2317)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:575)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Apr 24, 2009 12:04:13 PM org.apache.catalina.startup.Catalina start

_________________________________________________________________
Windows Live™ SkyDrive™: Get 25 GB of free online storage.  
http://windowslive.com/online/skydrive?ocid=TXT_TAGLM_WL_skydrive_042009
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message