Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [glassfish-dev] What are the possible causes of remote JNDI lookup failures like https://github.com/eclipse-ee4j/glassfish/issues/25190?

We also need to answer why some tests are working with look-up specified but otherwise fail without it (ejb-link should be enough).  

On Thu, Nov 14, 2024, 3:47 PM Scott Marlow <smarlow@xxxxxxxxxx> wrote:


On 11/14/24 3:30 PM, Scott Marlow wrote:

After deployment completes and lots of jndi lookups to deal with derby, I see the following jndi calls:

1. jndi list "" returns:

With the look-up name hack removed, jndi list "" now returns:

"com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__" -> {javax.naming.Reference@15270} "Reference Class Name: reference\nType: url\nContent: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__\n"
"com_sun_ts_tests_common_vehicle_AppManagedVehicleBean#com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF" -> {javax.naming.Reference@15272} "Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF\nType: url\nContent: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__\n"
"com_sun_ts_tests_common_vehicle_AppManagedVehicleBean" -> {javax.naming.Reference@15274} "Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF\nType: url\nContent: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__\n"

jndi look  up of "com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__" returns:

 Reference Class Name: reference
Type: url
Content: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__

Actual returned IOR is:

IORImpl[type=RMI:com.sun.ejb.codegen.GenericEJBHome_Generated:0000000000000000 iorTemplates=[IORTemplate[oktemp=ObjectKeyTemplate[magic=afabcb00 scid=38 serverid=100 orbid=S1AS-ORB oaid=ObjectAdapterID[RootPOA/#RFMBase#/113483230901108736_RBusiness_com.sun.ts.tests.common.vehicle.appmanaged._AppManagedVehicleIF_Remote-EJBHome] profile templates:[IIOPProfileTemplateImpl[giopVersion=1.2 primary=192.168.122.1:3700]]]]

jndi look up of "com_sun_ts_tests_common_vehicle_AppManagedVehicleBean" returns:

Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF
Type: url
Content: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__

Actual returned IOR is: Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF
Type: url
Content: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__

Not much different but it looks like we do use the ejb-link at least for this test instead of the lookup-value.


"com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__" -> {javax.naming.Reference@13703} "Reference Class Name: reference\nType: url\nContent: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__\n"
"com_sun_ts_tests_common_vehicle_AppManagedVehicleBean#com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF" -> {javax.naming.Reference@13653} "Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF\nType: url\nContent: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__\n"
"com_sun_ts_tests_common_vehicle_AppManagedVehicleBean" -> {javax.naming.Reference@13696} "Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF\nType: url\nContent: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__\n"

2. jndi lookup of com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__
   finds Reference Class Name: reference
Type: url
Content: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__
and returns IORImpl[type=RMI:com.sun.ejb.codegen.GenericEJBHome_Generated:0000000000000000 iorTemplates=[IORTemplate[oktemp=ObjectKeyTemplate[magic=afabcb00 scid=38 serverid=100 orbid=S1AS-ORB oaid=ObjectAdapterID[RootPOA/#RFMBase#/113482914926166016_RBusiness_com.sun.ts.tests.common.vehicle.appmanaged._AppManagedVehicleIF_Remote-EJBHome] profile templates:[IIOPProfileTemplateImpl[giopVersion=1.2 primary=192.168.122.1:3700]]]]

3.  jndi look up name com_sun_ts_tests_common_vehicle_AppManagedVehicleBean finds Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF
Type: url
Content: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__
and returns Reference Class Name: com.sun.ts.tests.common.vehicle.appmanaged.AppManagedVehicleIF
Type: url
Content: com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__

4. jndi look up of com_sun_ts_tests_common_vehicle_AppManagedVehicleBean__3_x_Internal_RemoteBusinessHome__ returns IORImpl[type=RMI:com.sun.ejb.codegen.GenericEJBHome_Generated:0000000000000000 iorTemplates=[IORTemplate[oktemp=ObjectKeyTemplate[magic=afabcb00 scid=38 serverid=100 orbid=S1AS-ORB oaid=ObjectAdapterID[RootPOA/#RFMBase#/113482914926166016_RBusiness_com.sun.ts.tests.common.vehicle.appmanaged._AppManagedVehicleIF_Remote-EJBHome] profile templates:[IIOPProfileTemplateImpl[giopVersion=1.2 primary=192.168.122.1:3700]]]]

So it seems like the appclient process is not seeing the session bean returned but the server side does create the (looked up) session bean I think.


Actually, this is with the application client deployment descriptor hacked to also have:

<lookup-name>java:global/jpa_core_EntityGraph_vehicles/jpa_core_EntityGraph_appmanaged_vehicle_ejb/AppManagedVehicleBean</lookup-name>

I'll run again without the lookup-name hack.


Back to the top