users@glassfish.java.net

[gf-users] Re: Phantom JMS resource? (3.1.2.2)

From: Jagadish Prasath Ramu <jagadish.ramu_at_oracle.com>
Date: Wed, 07 May 2014 10:34:33 +0530

A JMS Resource is backed by "connector connection pool" and "connector
resource".

When you create a jms-resource, changes will happen in two areas.
1) there is a <resources> list in the configuration that will have
<connector-connection-pool> and <connector-resource> created. These
"resource" configuration are homogeneous across all instances of the
domain and hence it is in domain wide configuration.
2) a <resource-ref> will be created in the server (instance) being
targeted to. (default being "server" when --target is not specified).

So, <resources> is common for all instances of the domain. To enable
them in a specific instance one needs to specify --target as part of
create-jms-resource (default of --target being "server"). Other option
to enable the resource in an instance/cluster is to use
"create-resource-ref" command.

Since the instance was deleted, only the <resource-ref> in the instance
is deleted. The common configuration would remain. If you do
"list-jms-resources domain", it would list the resources in the domain.

Hence, when the same command is executed again, it fails. You can use
"create-resource-ref" to enable them in the newly created instance.

Thanks,
-Jagadish

On Tue, 2014-05-06 at 21:33 -0700, Pawel Veselov wrote:
>
>
> Hi David,
>
>
> I think to reproduce this the instance needs to be deleted after the
> resource is added.
> Even if the instance is then re-created, the jms resource becomes
> ghosty.
>
>
> Thank you,
> Pawel.
>
> On Mon, Mar 3, 2014 at 5:40 PM, David Zhao <liang.x.zhao_at_oracle.com>
> wrote:
> Hi Pawel,
>
>
>
> It works for me.
>
>
>
> D:\glassfish-3.1.2.2\glassfish\bin>asadmin create-jms-resource
> --target miServer --restype javax.jms.QueueConnectionFactory
> jms/QueueConnectionFactory
>
> Connector resource jms/QueueConnectionFactory created.
>
> Command create-jms-resource executed successfully.
>
>
>
> D:\glassfish-3.1.2.2\glassfish\bin>asadmin list-jms-resources
> miServer
>
> jms/QueueConnectionFactory
>
> Command list-jms-resources executed successfully.
>
>
>
> D:\glassfish-3.1.2.2\glassfish\bin>asadmin delete-jms-resource
> --target miServer jms/QueueConnectionFactory
>
> Command delete-jms-resource executed successfully.
>
>
>
> D:\glassfish-3.1.2.2\glassfish\bin>asadmin list-jms-resources
> miServer
>
> Nothing to list
>
> Command list-jms-resources executed successfully.
>
>
>
> D:\glassfish-3.1.2.2\glassfish\bin>asadmin create-jms-resource
> --target miServer --restype javax.jms.QueueConnectionFactory
> jms/QueueConnectionFactory
>
> Connector resource jms/QueueConnectionFactory created.
>
> Command create-jms-resource executed successfully.
>
>
>
> D:\glassfish-3.1.2.2\glassfish\bin>asadmin list-jms-resources
> miServer
>
> jms/QueueConnectionFactory
>
> Command list-jms-resources executed successfully.
>
>
>
> Thanks,
>
> David Zhao
>
>
>
> From: Pawel Veselov [mailto:pawel.veselov_at_gmail.com]
> Sent: Saturday, March 01, 2014 4:17 PM
> To: users_at_glassfish.java.net
> Subject: Re: Phantom JMS resource? (3.1.2.2)
>
>
>
>
>
>
>
> Hi Liang,
>
>
>
>
>
> On Fri, Feb 28, 2014 at 3:43 PM, Liang Zhao
> <liang.x.zhao_at_oracle.com> wrote:
>
> Hi Pawel,
>
> Could you please share your domain.xml so that we can check
> what existing resource caused that?
>
>
>
>
> Is this sufficient?
>
>
>
>
>
> <domain>
>
>
> ...
>
>
> <resources>
>
>
> <connector-connection-pool max-pool-size="250"
> steady-pool-size="1" name="jms/QueueConnectionFactory"
> resource-adapter-name="jmsra"
> connection-definition-name="javax.jms.QueueConnectionFactory"></connector-connection-pool>
>
>
> <connector-resource pool-name="jms/QueueConnectionFactory"
> jndi-name="jms/QueueConnectionFactory"></connector-resource>
>
>
> ....
>
>
> </resources>
>
>
> ...
>
>
> </domain>
>
>
>
>
>
>
>
>
> This does only happen after resources are created, then
> deleted, then created again. But I expect them to show up in
> the output of the list-* commands, and this one doesn't
> anymore.
>
>
>
>
>
>
>
>
>
> Thanks,
> David Zhao
>
>
> > On Mar 1, 2014, at 6:52 AM, Pawel Veselov
> <pawel.veselov_at_gmail.com> wrote:
> >
> > Hi.
> >
> > That's weird, any idea why this may be happening,
> and how to fix this?
> > I assume it's not really failing because the
> resource already exists, but rather because some
> connection pool(?) fails to create...
> >
> > asadmin> list-jms-resources
> > Command list-jms-resources executed successfully.
> > asadmin> list-jms-resources miServer
> > Command list-jms-resources executed successfully.
> > asadmin> create-jms-resource --target miServer
> --restype javax.jms.QueueConnectionFactory
> jms/QueueConnectionFactory
> > remote failure: Unable to create connection pool.
> > A resource named jms/QueueConnectionFactory already
> exists.
> > Command create-jms-resource failed.
> > asadmin>
> >
>
>
>
>
>
>
>