[Jboss-cvs] JBossAS SVN: r56563 - branches/Branch_4_0/testsuite/src/main/org/jboss/test/jmx/test
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Sep 5 08:03:22 EDT 2006
Author: dimitris at jboss.org
Date: 2006-09-05 08:03:20 -0400 (Tue, 05 Sep 2006)
New Revision: 56563
Modified:
branches/Branch_4_0/testsuite/src/main/org/jboss/test/jmx/test/XMLAttributePersistenceManagerUnitTestCase.java
Log:
JBAS-3463, use the correct classloader when deserializing persisted custom mbean attributes
Modified: branches/Branch_4_0/testsuite/src/main/org/jboss/test/jmx/test/XMLAttributePersistenceManagerUnitTestCase.java
===================================================================
--- branches/Branch_4_0/testsuite/src/main/org/jboss/test/jmx/test/XMLAttributePersistenceManagerUnitTestCase.java 2006-09-05 12:02:45 UTC (rev 56562)
+++ branches/Branch_4_0/testsuite/src/main/org/jboss/test/jmx/test/XMLAttributePersistenceManagerUnitTestCase.java 2006-09-05 12:03:20 UTC (rev 56563)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.test.jmx.test;
import javax.management.Attribute;
@@ -28,6 +28,7 @@
import org.apache.log4j.Logger;
import org.jboss.test.JBossTestCase;
+import org.jboss.test.jmx.xmbean.CustomType;
/**
* Tests for XMLAttributePersistenceManager
@@ -43,7 +44,53 @@
}
/**
- * [JBAS-1988], test we can write/read to a directory that contains spaces in its name.
+ * JBAS-3463, persist custom mbean attributes using the default setup
+ * of the AttributePersistenceService / XMLAttributePersistenceManager.
+ */
+ public void testPersistCustomMBeanAttributes() throws Exception
+ {
+ Logger log = getLog();
+ log.info("+++ testPersistCustomMBeanAttributes");
+
+ String testService = "xmbean-custom-attr-pers.sar";
+ String customMBean = "jboss.test:service=ServiceUsingCustomAttribute";
+
+ MBeanServerConnection server = super.getServer();
+ // This works when AttributePersistenceService is setup by default
+ ObjectName aps = new ObjectName("jboss:service=AttributePersistenceService");
+ // Cleanup persisted image
+ server.invoke(aps, "apmRemove", new Object[] { customMBean }, new String[] { "java.lang.String" });
+ try
+ {
+ deploy(testService);
+ ObjectName target = new ObjectName(customMBean);
+ CustomType ct = new CustomType(777, 888);
+ // Attribute must be set and persisted
+ server.setAttribute(target, new Attribute("Attr", ct));
+ // redeploy
+ undeploy(testService);
+ // this fails if deserialization of the custom attribute fails
+ deploy(testService);
+ // otherwise we should be aple to read back the persisted attribute
+ ct = (CustomType)server.getAttribute(target, "Attr");
+ assertTrue("CustomType.x == 777", ct.getX() == 777);
+ assertTrue("CustomType.y == 888", ct.getY() == 888);
+ // Cleanup persisted image
+ server.invoke(aps, "apmRemove", new Object[] { customMBean }, new String[] { "java.lang.String" });
+ }
+ catch (Exception e)
+ {
+ getLog().warn("Caught exception", e);
+ fail("Unexcepted Exception, see the Log file");
+ }
+ finally
+ {
+ undeploy(testService);
+ }
+ }
+
+ /**
+ * JBAS-1988, test we can write/read to a directory that contains spaces in its name.
*
* @see org.jboss.test.jmx.xmbean.XMLAttributePersistenceManagerTestService
*/
More information about the jboss-cvs-commits
mailing list