[jboss-cvs] JBossAS SVN: r111296 - in projects/jboss-jca/trunk/rhq/src: main/java/org/jboss/jca/rhq/ds and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed May 4 04:23:50 EDT 2011
Author: gaol
Date: 2011-05-04 04:23:50 -0400 (Wed, 04 May 2011)
New Revision: 111296
Modified:
projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java
projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java
projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java
projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml
projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java
projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java
projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
Log:
[JBJCA-562] Adds Pool operations into plugin
Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/core/PoolResourceComponent.java 2011-05-04 08:23:50 UTC (rev 111296)
@@ -21,11 +21,13 @@
*/
package org.jboss.jca.rhq.core;
+
import org.jboss.jca.core.api.connectionmanager.pool.Pool;
import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.PropertySimple;
+import org.rhq.core.pluginapi.operation.OperationResult;
/**
* PoolResourceComponent
@@ -131,4 +133,54 @@
poolConfig.setUseFastFail(useFastFail);
}
+
+ /**
+ * Invokes Operations.
+ * @param s operation name
+ * @param configuration Configuration of the operation parameters
+ * @return OperationResult result of the Operation
+ * @throws InterruptedException when canceled.
+ * @throws Exception the exception
+ */
+ @Override
+ public OperationResult invokeOperation(String s, Configuration configuration) throws InterruptedException, Exception
+ {
+ OperationResult result = new OperationResult();
+ Pool pool = getPool();
+ if ("flush".equals(s))
+ {
+ pool.flush();
+ }
+ else if ("resetConnectionPool".equals(s))
+ {
+ pool.flush(true);
+ }
+ else if ("testConnection".equals(s))
+ {
+ boolean testConn = pool.testConnection();
+ Configuration config = result.getComplexResults();
+ config.put(new PropertySimple("result", testConn));
+ }
+ else if ("listFormattedSubPoolStatistics".equals(s))
+ {
+ result.setErrorMessage("Not Implemented yet!");
+ }
+ else if ("listStatistics".equals(s))
+ {
+ result.setErrorMessage("Not Implemented yet!");
+ }
+ else
+ {
+ throw new IllegalStateException("Wrong operation: " + s);
+ }
+ return result;
+ }
+
+ /**
+ * Gets Pool.
+ *
+ * @return Pool
+ */
+ protected abstract Pool getPool();
+
}
Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ds/DsResourceComponent.java 2011-05-04 08:23:50 UTC (rev 111296)
@@ -21,6 +21,7 @@
*/
package org.jboss.jca.rhq.ds;
+import org.jboss.jca.core.api.connectionmanager.pool.Pool;
import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
import org.jboss.jca.core.api.management.DataSource;
import org.jboss.jca.core.api.management.ManagementRepository;
@@ -28,6 +29,8 @@
import org.jboss.jca.rhq.core.ManagementRepositoryManager;
import org.jboss.jca.rhq.core.PoolResourceComponent;
+import org.jboss.logging.Logger;
+
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.ConfigurationUpdateStatus;
import org.rhq.core.domain.configuration.PropertySimple;
@@ -41,6 +44,9 @@
public class DsResourceComponent extends PoolResourceComponent
{
+ /** log */
+ private static final Logger logger = Logger.getLogger(DsResourceComponent.class);
+
/**
* getDataSource
*
@@ -117,5 +123,17 @@
updateResourceConfiguration.setStatus(ConfigurationUpdateStatus.SUCCESS);
}
+
+ /**
+ * Gets Pool.
+ *
+ * @return Pool the pool.
+ */
+ @Override
+ protected Pool getPool()
+ {
+ DataSource ds = getDataSource();
+ return ds.getPool();
+ }
}
Modified: projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/java/org/jboss/jca/rhq/ra/CfResourceComponent.java 2011-05-04 08:23:50 UTC (rev 111296)
@@ -21,6 +21,7 @@
*/
package org.jboss.jca.rhq.ra;
+import org.jboss.jca.core.api.connectionmanager.pool.Pool;
import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
import org.jboss.jca.core.api.management.ConnectionFactory;
import org.jboss.jca.core.api.management.Connector;
@@ -128,4 +129,16 @@
updateResourceConfiguration.setStatus(ConfigurationUpdateStatus.SUCCESS);
}
+
+ /**
+ * Gets Pool.
+ *
+ * @return Pool the pool.
+ */
+ @Override
+ protected Pool getPool()
+ {
+ ConnectionFactory cf = getConnectionFactory();
+ return cf.getPool();
+ }
}
Modified: projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml
===================================================================
--- projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/main/resources/META-INF/rhq-plugin.xml 2011-05-04 08:23:50 UTC (rev 111296)
@@ -411,6 +411,8 @@
<service name="Connection Factory" discovery="org.jboss.jca.rhq.ra.CfResourceDiscoveryComponent"
class="org.jboss.jca.rhq.ra.CfResourceComponent">
+ &datasourceAndConnectionFactoryOperations;
+
<resource-configuration>
<c:group name="general" displayName="General">
<c:simple-property name="jndi-name" displayName="JNDI Name"/>
@@ -447,8 +449,6 @@
<service name="Managed Connection Factory" discovery="org.jboss.jca.rhq.ra.McfResourceDiscoveryComponent"
class="org.jboss.jca.rhq.ra.McfResourceComponent">
- &datasourceAndConnectionFactoryOperations;
-
<resource-configuration>
<c:group name="general" displayName="General">
@@ -499,11 +499,14 @@
</c:group>
</plugin-configuration>
+ &datasourceAndConnectionFactoryOperations;
+
<content name="ds-file" displayName="DataSource File" category="deployable" isCreationType="true">
<configuration>
<c:simple-property name="override" displayName="Override?" required="false" type="boolean" defaultValue="true"/>
</configuration>
</content>
+
<resource-configuration>
<c:group name="general" displayName="General">
Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/rar/xa/XAManagedConnectionFactory.java 2011-05-04 08:23:50 UTC (rev 111296)
@@ -134,7 +134,7 @@
if (ra == null)
throw new IllegalStateException("RA is null");
log.finest("createManagedConnection()");
- return null;
+ return new XAManagedConnection();
}
/**
Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/DsTestCase.java 2011-05-04 08:23:50 UTC (rev 111296)
@@ -46,6 +46,8 @@
import org.rhq.core.pc.plugin.FileSystemPluginFinder;
import org.rhq.core.pluginapi.configuration.ConfigurationFacet;
import org.rhq.core.pluginapi.configuration.ConfigurationUpdateReport;
+import org.rhq.core.pluginapi.operation.OperationFacet;
+import org.rhq.core.pluginapi.operation.OperationResult;
import static org.junit.Assert.*;
@@ -208,6 +210,34 @@
}
/**
+ * Tests DsResourceComponent pool testConnection.
+ *
+ * @throws Throwable the exception.
+ */
+ @Test
+ public void testDsPoolOperationTestConnection() throws Throwable
+ {
+ testPoolOperationTestConnection(rarServiceResource);
+ }
+
+ /**
+ * Tests pool testConnection.
+ *
+ * @param poolRes Resource
+ * @throws Throwable the exception.
+ */
+ protected static void testPoolOperationTestConnection(Resource poolRes) throws Throwable
+ {
+ PluginContainer pc = PluginContainer.getInstance();
+ InventoryManager im = pc.getInventoryManager();
+ OperationFacet cfOpertaionFacet = (OperationFacet)im.getResourceComponent(poolRes);
+ OperationResult result = cfOpertaionFacet.invokeOperation("testConnection", null);
+ assertNotNull(result);
+ Configuration config = result.getComplexResults();
+ assertEquals("true", config.getSimpleValue("result", null));
+ }
+
+ /**
* test DataSource Pool.flush()
*
* @throws Throwable exception
Modified: projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java
===================================================================
--- projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java 2011-05-03 16:49:47 UTC (rev 111295)
+++ projects/jboss-jca/trunk/rhq/src/test/java/org/jboss/jca/rhq/test/XATestCase.java 2011-05-04 08:23:50 UTC (rev 111296)
@@ -75,6 +75,12 @@
/** cf jndi name */
private static final String CF_JNDI_NAME = "java:/eis/XA";
+ /** ao jndi name **/
+ private static final String AO_JNDI_NAME = "java:/XAAdminObjectImpl";
+
+ /** ra jndi name **/
+ private static final String RA_JNDI_NAME = "XAResourceAdapter";
+
/** RAR resource */
private static Resource rarServiceResource;
@@ -119,21 +125,33 @@
}
/**
- * Tests AoResourceComponent load resource configuration.
+ * Gets sub resource of the rarServiceResource.
*
- * @throws Exception exception
+ * @param resJndiName jndi name of the sub resource
+ * @return Resource the resource
*/
- @Test
- public void testLoadAoResourceConfiguration() throws Exception
+ private Resource getSubResource(String resJndiName)
{
- Resource aoResource = null;
+ Resource resource = null;
for (Resource res : rarServiceResource.getChildResources())
{
- if (res.getName().equals("java:/XAAdminObjectImpl"))
+ if (res.getName().equals(resJndiName))
{
- aoResource = res;
+ resource = res;
}
}
+ return resource;
+ }
+
+ /**
+ * Tests AoResourceComponent load resource configuration.
+ *
+ * @throws Exception exception
+ */
+ @Test
+ public void testLoadAoResourceConfiguration() throws Exception
+ {
+ Resource aoResource = getSubResource(AO_JNDI_NAME);
assertNotNull(aoResource);
PluginContainer pc = PluginContainer.getInstance();
InventoryManager im = pc.getInventoryManager();
@@ -166,14 +184,7 @@
@Test
public void testUpdateAoResourceComponentConfiguration() throws Exception
{
- Resource aoResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals("java:/XAAdminObjectImpl"))
- {
- aoResource = res;
- }
- }
+ Resource aoResource = getSubResource(AO_JNDI_NAME);
assertNotNull(aoResource);
PluginContainer pc = PluginContainer.getInstance();
InventoryManager im = pc.getInventoryManager();
@@ -206,14 +217,7 @@
@Test
public void testCfLoadResourceConfiguration() throws Exception
{
- Resource cfResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals(CF_JNDI_NAME))
- {
- cfResource = res;
- }
- }
+ Resource cfResource = getSubResource(CF_JNDI_NAME);
assertNotNull(cfResource);
//assertEquals(1, cfResource.getChildResources().size());
PluginContainer pc = PluginContainer.getInstance();
@@ -238,14 +242,7 @@
@Test
public void testMcfLoadResourceConfiguration() throws Exception
{
- Resource cfResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals(CF_JNDI_NAME))
- {
- cfResource = res;
- }
- }
+ Resource cfResource = getSubResource(CF_JNDI_NAME);
assertNotNull(cfResource);
//assertEquals(1, cfResource.getChildResources().size());
PluginContainer pc = PluginContainer.getInstance();
@@ -278,14 +275,7 @@
@Test
public void testCfUpdateResourceConfinguration() throws Exception
{
- Resource cfResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals(CF_JNDI_NAME))
- {
- cfResource = res;
- }
- }
+ Resource cfResource = getSubResource(CF_JNDI_NAME);
assertNotNull(cfResource);
PluginContainer pc = PluginContainer.getInstance();
InventoryManager im = pc.getInventoryManager();
@@ -303,6 +293,19 @@
}
/**
+ * Tests CfResourceComponent operation of testConnection
+ *
+ * @throws Throwable the exception
+ */
+ @Test
+ public void testCfPoolOperationTestConnection() throws Throwable
+ {
+ Resource cfResource = getSubResource(CF_JNDI_NAME);
+ assertNotNull(cfResource);
+ DsTestCase.testPoolOperationTestConnection(cfResource);
+ }
+
+ /**
* Tests McfResourceComponent update resource configuration.
*
* @throws Exception exception
@@ -310,14 +313,7 @@
@Test
public void testMcfUpdateResourceConfinguration() throws Exception
{
- Resource cfResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals(CF_JNDI_NAME))
- {
- cfResource = res;
- }
- }
+ Resource cfResource = getSubResource(CF_JNDI_NAME);
assertNotNull(cfResource);
PluginContainer pc = PluginContainer.getInstance();
InventoryManager im = pc.getInventoryManager();
@@ -358,14 +354,7 @@
@Test
public void testRaLoadResourceCondiguration() throws Exception
{
- Resource raResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals("XAResourceAdapter"))
- {
- raResource = res;
- }
- }
+ Resource raResource = getSubResource(RA_JNDI_NAME);
assertNotNull(raResource);
PluginContainer pc = PluginContainer.getInstance();
InventoryManager im = pc.getInventoryManager();
@@ -413,14 +402,7 @@
@Test
public void testRaUpdateResourceConfiguration() throws Exception
{
- Resource raResource = null;
- for (Resource res : rarServiceResource.getChildResources())
- {
- if (res.getName().equals("XAResourceAdapter"))
- {
- raResource = res;
- }
- }
+ Resource raResource = getSubResource(RA_JNDI_NAME);
assertNotNull(raResource);
PluginContainer pc = PluginContainer.getInstance();
InventoryManager im = pc.getInventoryManager();
More information about the jboss-cvs-commits
mailing list