(I already posted this one to the glassfish forum a few days ago, but no luck yet :-)

The situation: I have a JCA resource adapter (RA) deployed that is configured via a @ConfigProperty annotation.

public class MyResourceAdapter implements ResourceAdapter {
    @ConfigProperty(defaultValue = "9000", type = Integer.class, supportsDynamicUpdates = false)
    private Integer port;
}

I also have an application deployed that uses the RA.

@MessageDriven(name = "MY_MDB", messageListenerInterface = MyMessageEndpoint.class)
public class MyMessageDrivenBean implements MyMessageEndpoint {
    // some method required in MyMessageEndpoint to process calls from the RA
}

Now I want to change the config property through the Admin console by creating a resource adapter config. Now when I change config properties the JCA spec states that the RA has to be stopped and restarted. So far everything works just fine.

But the spec also states the following in chapter 5.3.4.1:

Phase One

Before calling the stop method on the ResourceAdapter JavaBean, the application server must ensure that all dependant applications using the specific resource adapter instance are stopped. This includes deactivating all message endpoints receiving messages via the specific resource adapter. Note, however, since dependant applications typically cannot be stopped until they are undeployed, the application server may have to delay stopping the resource adapter instance, until all such dependant applications are undeployed.

If I got that right it means that my application should be stopped (probably also restarted) as well, but that does not happen. This results in me having both a resource adapter and an application deployed, but the RA does not "know" about the application/message endpoint.

Now my question is: is this a bug or did I miss something here?

PS my glassfish version is 3.1.1., the resource adapter is running on JCA 1.6.

0

There are 0 best solutions below