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.