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 [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
