Unable to start EJB with a JNDI name of more than 64 characters in WebSphere Application Server 3.5.x

Technote (FAQ)
Problem
When an Enterprise JavaBean (EJB™) installed in WebSphere® Application Server 3.5.x has a JNDI name of greater than 64 characters, it might fail to start and the following error might be logged:

Failed to start the bean "beanname" javax.naming.NamingException:
com.xxx.xxx.xxx.xxx.ejb.project.ThisIsAnExtremelyLongEJBNameHome.
Root exception is org.omg.CORBA.portable.UnknownException: minor code:
0 completed: Maybe
at com.ibm.CORBA.iiop.ClientDelegate.invoke(ClientDelegate.java:488)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:250)
at
org.omg.ExtendedNaming._NamingContextBaseStub.rebind(_NamingContextBaseS
tub.java:361)
Solution
This problem exists in fix pack levels of WebSphere earlier than 3.5.2. The sizes of the name columns in the CONTEXTBEANTBL, BINDINGBEANTBL, and PROPERTYBEANTBL tables of the administrative repository database were 128, 64, and 64 characters respectively; therefore, a JNDI name of more than 64 characters does not work.

Upgrading to a fix pak level of 3.5.2 or later fixes the problem, but only if the tables in the repository are recreated after the upgrade. An alternate solution is to manually change the field lengths in the database to larger values. After one of these solutions is implemented, you can start an EJB that has a JNDI name of greater than 64 characters.












Document Information

Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, EJB Container
Operating system(s): Multi-Platform
Software version: 3.5
Software edition: Advanced
Reference #: 1081428
IBM Group: Software Group
Modified date: 2004-10-28