You are right. It has the same effect if I manually do the deploy in each 
deploy folder. It seems to be my ear (and what is within) that causes the 
trouble. We have a real project we ported to 4.0.4rc2 and it worked, no matter 
if farmed or not (at least in the short time we tested it).

The test app is actually very simple, but I dont get why it produces such 
strange effects. If I leave the app in the farm folder and restart the server 
it will throw errors right away, that is something it doesnt do when I start 
the server and the ear is in the deploy folder. 
After some more trying out I now also have the problem that the jmx consol's 
JNDI Tree view wont show me the bean and interfaces that I deploy in the 
ear.... very strange, the hibernate factory is visibile though.
The bean and interfaces are there though, when I run a client in debug mode I 
can see that it gets access via HAJNDI to the tree and can fetch the interface, 
but then when I try to call a mehtod through the interface i looked up, I get a 
cluster invocation error. I allready set back to server folder to what I 
started with (merged all and ejb3.0 clusterd) to make sure I didnt mess up the 
config too much, but the effect holds on.
I also get the effect if I just deploy/farm the testEJB.jar.

My ear  and the containing jar, har and war look like this( I guess the configs 
would be more interresting, but I've got to start somewhere;):

  | testEJB.ear
  |  +--testEJB.jar
  |  +--testEJBHib.har
  |  +--testEJBWar.war
  |  +--META-INF/
  |       +--application.xml
  |       +--jboss-app.xml
  | 


  | testEJB.jar
  |  +--ejb-jar.xml
  |  +--hibernate.cfg.xml
  |  +--jndi.properties
  |  +--log4j.properties
  |  +--de/somewhere/test/
  |        +--ejbean/
  |             +--NatPersLstBean.class
  |             +--HelloWorld.class
  |        +--interfaces/
  |              +--IHelloWorld.class
  |              +--IHelloWorldRemote.class
  |              +--INatPersLst.class
  |              +--INatPersLstLocal.class
  |              +--INatPersLstRemote.class
  |         +--persi/
  |              +--NatPers.class
  |         +--util/
  |              +--HibTestUtil.class
  | 


  | testEJBHib.har
  |  +--NatPers.hbm.xml
  |  +--META-INF/
  |       +--hibernate-service.xml
  | +--de/somewhere/test/persi
  |       +--NatPers.class
  | 


  | testEJBWar.war
  |  +--hibernate.cfg.xml
  |  +--jndi.properties
  |  +--log4j.properties
  |  +--NatPersPage.html
  |  +--META-INF/
  |  +--WEB-INF/
  |       +--web.xml
  |  +--NatPers/
  |       +--Count2Ten.jsp
  |       +--LilstNatPers.jsp 
  |  +--de/somewhere/test/
  |        +--ejbean/
  |             +--NatPersLstBean.class
  |             +--HelloWorld.class
  |        +--interfaces/
  |              +--IHelloWorld.class
  |              +--IHelloWorldRemote.class
  |              +--INatPersLst.class
  |              +--INatPersLstLocal.class
  |              +--INatPersLstRemote.class
  |         +--persi/
  |              +--NatPers.class
  |         +--util/
  |              +--HibTestUtil.class
  | 

Since I have the some problem with just the jar, I guess that should be the 
start point (the jar depends on the har, which I deploy before).
My ejb-jar.xml is mainly empty just contains the "main" xml node, but nothing 
defined or configured there.
I guess the jndi.properties could be interresting, so here it comes

  | #----- RMI
  | #java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
  | #java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
  | #java.naming.provider.url=192.168.111.222:1099
  | #java.naming.provider.url=localhost:1099
  | #----- HTTP 
  | #java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory
  | #java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
  | #java.naming.provider.url=192.168.111.222:8080/invoker/JNDIFactory
  | 
  | java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
  | java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
  | jnp.partitionName=DefaultPartition
  | java.naming.provider.url=192.168.111.222:1100
  | 

For the cache the hibernate.cfg.xml might also be interessting:

  | <?xml version='1.0' encoding='utf-8'?>
  | <!DOCTYPE hibernate-configuration PUBLIC
  |     "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  |     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd";>
  | <hibernate-configuration>
  |     <session-factory>
  |             <!-- Database connection settings -->
  |             <property 
name="connection.driver_class">oracle.jdbc.OracleDriver</property>
  |             <property 
name="connection.url">jdbc:oracle:thin:@thedb.somewhere.de:1521:THEDBNAME</property>
  |             <property name="connection.username">myname</property>
  |             <property name="connection.password">mypass</property>
  |             
  |             <!-- JDBC connection pool (use the built-in) -->
  |     <!--    <property name="connection.pool_size">1</property> -->
  |             <!-- JDBC connection pool (use the c3p0 connection pool (a 
foreign lib included in hib's lib)) -->
  |             <property name="c3p0.min_size">1</property>
  |             <property name="c3p0.max_size">10</property>
  |             <property name="c3p0.timeout">1800</property>           
  |             <property name="c3p0.max_statements">25</property>              
  |                             
  |             <!-- SQL dialect -->
  |             <property 
name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
  |             
  |             <!-- Enable Hibernate's automatic session context management -->
  |             <property 
name="current_session_context_class">thread</property>                
  |             
  |             <!-- Echo all executed SQL to stdout -->
  |             <property name="show_sql">false</property>
  |             
  |             <!-- Drop and re-create the database schema on startup -->
  |             <property name="hbm2ddl.auto">create</property>         
  |             <mapping resource="NatPers.hbm.xml"/>
  |             
  |             <!--  Clustering -->
  |             <property name="hibernate.cache.provider_class"
  |                                     
value="org.jboss.ejb3.entity.TreeCacheProviderHook"/>
  |             <property name="hibernate.treecache.mbean.object_name" 
  |                                     
vlaue="jboss.cache:service=EJB3EntityTreeCache"/>
  |             <property name="hibernate.cache.use_query_cache" 
  |                                     value="true"/>
  |                                     
  |                                     
  |             <!-- Define cached entities and collections -->
  |             <class-cache class="de.somewhere.test.persi.NatPers" 
usage="transactional"/>
  | 
  | 
  |             
  |             <!-- Disable the second-level cache -->
  | <!--        <property 
name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  | -->
  |             
  |     </session-factory>
  | </hibernate-configuration>
  | 

The bean ist marked with:


  | @Remote({INatPersLstRemote.class})
  | @Local({INatPersLstLocal.class})
  | @RemoteBinding(jndiBinding="EJBTEST/NatPerLstBean/remote")
  | @LocalBinding(jndiBinding="comp/env/EJBTEST/NatPerLstBean/local")
  | @Stateless
  | @Clustered(partition= "DefaultPartition", loadBalancePolicy = 
org.jboss.ha.framework.interfaces.RoundRobin.class)
  | public class NatPerLstBean implements INatPersLstLocal,
  |                                                                       
INatPersLstRemote {
  | ...
  | 
The interfaces are marked also with @Local and @Remote.
I do the lookup in the client with

  | ...
  | INatPersLst persLstI = 
INatPersLst)initCtx.lookup(INatPersLstRemote.JNDIName);
  | NamingEnumeration myNe = initCtx.list("/"); //just for testing
  |                             
  | Object myObj =  persLstI.getNatPersLst(lettersLastName); //Here it throws 
the clustered invocatio error since I used the last part in the jndi.properties 
for HAJNDI instead of the RMI marked part for JNDI
  | myNatPersLst = (List<NatPers>)myObj;
  | ..
  | 

I hope the information is usefull, and doesnt just eat bandwith ;)

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3940899#3940899

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3940899


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to