[jboss-user] [EJB 3.0] - Re: Why is Remote Interface not installed

baumar do-not-reply at jboss.com
Sun May 4 17:40:00 EDT 2008


Hi Jaikiran,

First of all, thanks a lot for your support!

For once, using the latest version - of Java - was not very successful and I changed the JDK back to 1.5. I did it before, now I run only on 1.5 to exclude another source of errors, but it did not resolve the problem. 

Where shall I begin? I also had installed JBoss 4.2.2 to see if it works there. 
First I had to get rid of SampleEAR.ear, because it started up with error with the standard installation already. 

After this I could install my jar with "only" one warning anonymous wrote : 
  | 
  | 22:25:25,578 INFO  [SessionFactoryObjectFactory] Factory name: persistence.units:jar=person-422.jar,unitName=fotest
  | 22:25:25,578 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingC
  | ontextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
  | 22:25:25,593 INFO  [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.units:jar=person-422.jar,unitNa
  | me=fotest
  | 22:25:25,593 WARN  [SessionFactoryObjectFactory] InitialContext did not implement EventContext
  | 22:25:25,593 INFO  [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingC
  | ontextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
  | 22:25:26,031 INFO  [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateful.StatefulContainer
  | 22:25:26,046 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=person-422.jar,name=PersonFeederBean,service=
  | EJB3 with dependencies:
  | 22:25:26,046 INFO  [JmxKernelAbstraction]       persistence.units:jar=person-422.jar,unitName=fotest
  | 22:25:26,343 INFO  [EJBContainer] STARTED EJB: com.informationcontrol.forumorganizer.persistence.PersonFeederBean ejbNam
  | e: PersonFeederBean
  | 22:25:26,812 INFO  [EJB3Deployer] Deployed: file:/C:/Programme/JBoss/jboss422-GA/server/default/deploy/person-422.jar
  | 

However, in the JMX console I can only see the bean, not the remote interface:

  | PersonFeederBean (class: org.jnp.interfaces.NamingContext)
  |   |   +- remote (class: java.lang.Object)
  |   |   +- remoteStatefulProxyFactory (proxy: $Proxy77 implements interface org.jboss.ejb3.ProxyFactory)


I looked around for the warning message but didn't find anything that seemed to match the current situation. (one post (in combination with Seam) was: Remove the line  from persistence.xml; but I don't have the line in my file...)


I also have the impression, the error I get when running the client happens earlier, as the client application doesn't even start but stops with a message that I should send to Microsoft!:

javaw.exe has a problem and has to be stopped... 

The problem report looks like this:

EventType : BEX     P1 : javaw.exe     P2 : 5.0.40.5     P3 : 42a021bf     
P4 : dnsq.dll     P5 : 7.0.0.119     P6 : 464f429d     P7 : 00001852     
P8 : c0000409     P9 : 00000000  

I know this error showed up before and until now I didn't find a workaround...



So I went back to 404, because there I could at least launch the client.
The pattern is still the same as before, I can install a jar once, but cannot redeploy. At least I know the error pattern, though it is not really a "hot" deploy. 
The application did still not run, because I passed an Entity object with all fields set (I checked with a system out) but JBoss reported an Insert statement with all values null and ? ?, including the id, which caused of course a SQL-exception. However, I saw a warning that the server started without transaction support: 


  | 23:05:16,953 INFO  [TreeCache] setEvictionPolicyConfig(): [config: null]
  | 23:05:16,968 WARN  [TreeCache] No transaction manager lookup class has been defined. Transactions cannot be used
  | 23:05:17,000 INFO  [TreeCache] interceptor chain is:
  | class org.jboss.cache.interceptors.CallInterceptor
  | class org.jboss.cache.interceptors.PessimisticLockInterceptor
  | class org.jboss.cache.interceptors.CacheLoaderInterceptor
  | class org.jboss.cache.interceptors.UnlockInterceptor
  | class org.jboss.cache.interceptors.ReplicationInterceptor
  | class org.jboss.cache.interceptors.CacheStoreInterceptor
  | 23:05:17,031 INFO  [TreeCache] cache mode is REPL_SYNC

For sure I didn't stop Transaction support deliberately; so eventually I guessed this installation is f.u. and decided to install JBoss again.

While reinstalling, I noticed the pane "Isolation and call by value semantics"; I investigated and saw that the errors mentioned looked similar to what I get. When I first installed it, I think didn't check, this time I did. I also rearranged my code as you suggested:

		try {
  | 			ctx = new InitialContext();	
  | 			NamingEnumeration nameList = ctx.listBindings("");
  | 			while (nameList.hasMore()) {
  | 				Binding binding = (Binding) nameList.next();
  | 				System.out.println(binding.getName()+"; "+binding.getObject());
  | 			}
  | 			
  | 		} catch (NamingException e) {
  | 			System.out.println("Problem with InitialContext: ");
  | 			e.printStackTrace();
  | 		}
  | 		
  | 		try {
  | 			pfr = (PersonFeederRemote) ctx.lookup("PersonFeederBean/remote");
  | 		} catch (NamingException e1) {
  | 			System.out.println("could not find PersonFeederBean/remote");
  | 			e1.printStackTrace();
  | 		}			
  | 		if (pfr == null) {
  | 			System.out.println("PersonFeederRemote is null");
  | 		} else {
  | 			Method[] methods = pfr.getClass().getMethods();			
  | 			for (Method method: methods) {	System.out.println(method.getName());}
  | 		}								
  | 

However, the Remote cannot be found and the error looks similar as before, so my hope having found the problem faded again:



  | 
  | PersonFeederBean; org.jnp.interfaces.NamingContext at 1d332b
  | XAConnectionFactory; Reference Class Name: org.jboss.mq.SpyXAConnectionFactory
  | Type: DCF
  | Content: [B at 10a6ae2
  | 
  | ...
  | 
  | could not find PersonFeederBean/remote
  | javax.naming.NamingException: Could not dereference object [Root exception is java.lang.reflect.UndeclaredThrowableException]
  | 	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1150)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:705)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  | 	at javax.naming.InitialContext.lookup(InitialContext.java:351)
  | 	at com.informationcontrol.forumorganizer.client.ClientPersonFeeder.main(ClientPersonFeeder.java:41)
  | Caused by: java.lang.reflect.UndeclaredThrowableException
  | 	at $Proxy1.createProxy(Unknown Source)
  | 	at org.jboss.ejb3.JndiProxyFactory.getObjectInstance(JndiProxyFactory.java:52)
  | 	at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
  | 	at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1125)
  | 	at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1142)
  | 	... 4 more
  | Caused by: java.rmi.MarshalException: Failed to communicate.  Problem during marshalling/unmarshalling; nested exception is: 
  | 	java.io.InvalidClassException: org.jboss.ejb3.remoting.IsLocalInterceptor; local class incompatible: stream classdesc serialVersionUID = 595045557897063404, local class serialVersionUID = -3758782076801249473
  | 	at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:306)
  | 	at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
  | 	at org.jboss.remoting.Client.invoke(Client.java:525)
  | 	at org.jboss.remoting.Client.invoke(Client.java:488)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:48)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.remoting.PojiProxy.invoke(PojiProxy.java:61)
  | 	... 9 more
  | Caused by: java.io.InvalidClassException: org.jboss.ejb3.remoting.IsLocalInterceptor; local class incompatible: stream classdesc serialVersionUID = 595045557897063404, local class serialVersionUID = -3758782076801249473
  | 	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:519)
  | 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1546)
  | 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1460)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1693)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1628)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1293)
  | 	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
  | 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
  | 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 	at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:122)
  | 	at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1753)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1711)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1912)
  | 	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1836)
  | 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1713)
  | 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299)
  | 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
  | 	at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
  | 	at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
  | 	at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
  | 	... 17 more
  | 

So instead of resolving the problem on the server, it doesn't even seem to reach it anymore...

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

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



More information about the jboss-user mailing list