java.beans.XMLEncoder Useless?
starksm64 Oct 10, 2008 2:40 PMSo after talking about what the attachments serialized form would look like on the open console call, I created a little test of a datasource:
/**
* Just a test to see what the java.beans.XMLEncoder output for the
* local ds metadata looks like.
*/
public void testJavaBeanXml()
{
ManagedConnectionFactoryDeploymentGroup mcfs = new ManagedConnectionFactoryDeploymentGroup();
LocalDataSourceDeploymentMetaData lds = new LocalDataSourceDeploymentMetaData();
lds.setBackgroundValidation(true);
lds.setBackgroundValidationMillis(5000);
lds.setBlockingTimeoutMilliSeconds(5000);
lds.setCheckValidConnectionSQL("select something from somewhere");
lds.setConnectionDefinition("conn def");
lds.setConnectionUrl("jdbc:xyz:a=b");
DataSourceConnectionPropertyMetaData cp1 = new DataSourceConnectionPropertyMetaData();
cp1.setName("cp1-name");
cp1.setValue("cp1-value");
DataSourceConnectionPropertyMetaData cp2 = new DataSourceConnectionPropertyMetaData();
cp2.setName("cp2-name");
cp2.setValue("cp2-value");
DataSourceConnectionPropertyMetaData[] cps = {
cp1, cp2
};
lds.setDataSourceConnectionProperties(Arrays.asList(cps));
lds.setDriverClass("org.jboss.jdbc.SomeDriver");
lds.setExceptionSorterClassName("org.jboss.jdbc.SomeExceptionSorter");
String[] depends = {"jboss:service=Naming"};
lds.setDependsNames(Arrays.asList(depends));
lds.setIdleTimeoutMinutes(15);
lds.setInterleaving(false);
lds.setMaxSize(100);
lds.setMinSize(1);
lds.setNewConnectionSQL("run this on a new conn");
lds.setPassWord("password");
lds.setPrefill(true);
lds.setPreparedStatementCacheSize(50);
lds.setQueryTimeout(30000);
lds.setUserName("user");
ManagedConnectionFactoryDeploymentMetaData[] mds = {lds};
mcfs.setDeployments(Arrays.asList(mds));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XMLEncoder oos = new XMLEncoder(baos);
oos.writeObject(mcfs);
oos.close();
String s = new String(baos.toByteArray());
System.out.println(s);
}
only translates to:
<?xml version="1.0" encoding="UTF-8"?> <java version="1.5.0_16" class="java.beans.XMLDecoder"> <object class="org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup"/> </java>
Maybe I'm missing something obvious, but that's not going to work.