Hi Alex
Can you send me your changed JCAConnectionFactory because
what you write doesn't make sense for me (except adding new
parameters there is no differences AFAI see).
Thanx - Andy
----- Original Message -----
From: "Alex Loubyansky" <[EMAIL PROTECTED]>
To: "JBoss-Dev" <[EMAIL PROTECTED]>
Sent: Friday, August 16, 2002 12:54 PM
Subject: [JBoss-dev] JCAConnectionFactory undeployment bug and patch
> Hello guys,
>
> there is a bug in JCAConnectionFactory undeployment (I guess in all
> 3.0 branches). Here are the details (I played with MySQL). When it is
created the
> J2EEManagedObject is created with a name like:
>
J2EEServer=Local,JCAResource=JCA,j2eeType=JCAConnectionFactory,name=MySqlDS-
LocalTxCM
>
> But when it is undeployed, this object isn't removed and remains
> registered. Thus redeployment will fail.
>
> The JCAConnectionFactory.destroy() method searches with criteria:
> J2EEManagedObject.getDomainName() + ":" +
> J2EEManagedObject.TYPE + "=" + JCAConnectionFactory.J2EE_TYPE + "," +
> "name=" + pName + "," +
> "*"
> which results in
>
jboss.management.local:j2eeType=JCAConnectionFactory,name=MySqlDS-LocalTxCM,
*
>
> Id it correct? I am still not good at it but it doesn't work.
>
> I changed the criteria to:
> ObjectName lServer = null;
> try {
> lServer = (ObjectName) pServer.queryNames(
> new ObjectName(
> J2EEManagedObject.getDomainName() + ":" +
> J2EEManagedObject.TYPE + "=" + J2EEServer.J2EE_TYPE + "," +
> "*"
> ),
> null
> ).iterator().next();
> }
> catch( Exception e ) {
> lLog.error( "Could not locate JSR-77 Server: " + pName, e );
> }
>
> ObjectName lJCAResource = null;
> try {
> // Check if the JCA Resource exists and if not create one
> Set lNames = pServer.queryNames(
> new ObjectName(
> J2EEManagedObject.getDomainName() + ":" +
> J2EEManagedObject.TYPE + "=" + JCAResource.J2EE_TYPE + "," +
> "*"
> ),
> null
> );
> if( lNames.isEmpty() ) {
> // Now create the JCA resource
> lJCAResource = JCAResource.create( pServer, "JCA" );
> } else {
> lJCAResource = (ObjectName) lNames.iterator().next();
> }
> }
> catch( Exception e ) {
> lLog.error( "Could not create JSR-77 JCA resource", e );
> }
>
> String searchCriteria =
> J2EEManagedObject.getDomainName() + ":" +
> J2EEServer.J2EE_TYPE + "=" +
> lServer.getKeyProperty( "name" ) + "," +
> JCAResource.J2EE_TYPE + "=" +
> lJCAResource.getKeyProperty( "name" ) + "," +
> J2EEManagedObject.TYPE + "=" + JCAConnectionFactory.J2EE_TYPE + "," +
> "name=" + pName + "," +
> "*";
>
> This criteria is:
>
J2EEServer=Local,JCAResource=JCA,j2eeType=JCAConnectionFactory,name=MySqlDS-
LocalTxCM,*
>
> And it works. I guess it's a weird way. Please, comment it.
>
> TIA!
>
> --
> Best regards,
> Alex Loubyansky
>
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by: OSDN - Tired of that same old
> cell phone? Get a new here for FREE!
> https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
>
>
-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone? Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development