📄 xmlblasterclassloadertest.java
字号:
package org.xmlBlaster.test.classloader;import java.util.logging.Logger;import org.xmlBlaster.util.*;import java.net.URL;import java.net.URLClassLoader;import org.xmlBlaster.client.qos.ConnectQos;import org.xmlBlaster.client.I_XmlBlasterAccess;import org.xmlBlaster.util.MsgUnit;import junit.framework.*;import java.net.*;/** * Test SNMP (simple network management protocol) to insert data. * <p /> * All methods starting with 'test' and without arguments are invoked automatically * <p /> * Invoke: java -Djava.compiler= junit.textui.TestRunner -noloading org.xmlBlaster.test.snmp.InsertTest * * @see org.xmlBlaster.engine.admin.extern.snmp.NodeEntryImpl */public class XmlBlasterClassloaderTest extends TestCase { protected Global glob; private static Logger log = Logger.getLogger(XmlBlasterClassloaderTest.class.getName()); private MsgUnit msgUnit; // a message to play with public XmlBlasterClassloaderTest(String name) { super(name); } protected void setUp() { this.glob = Global.instance(); URLClassLoader cl = (URLClassLoader)this.getClass().getClassLoader(); URL[] urls = cl.getURLs(); String path = ""; for( int i = 0; i < urls.length; i++ ) { String file = urls[i].getFile(); // TODO: parser.jar is not used anymore, remove code below if( file.endsWith("parser.jar") ) { int pos = file.indexOf("parser.jar"); path = urls[i].getProtocol()+"://"+file.substring(0,pos); break; } } // Add a xerces.jar at the beginning, so that CLASSPATH contains another XML-Parser in front. try { urls = new URL[2]; urls[0] = new URL(path+"ant/xerces.jar"); urls[1] = new URL(path+"xmlBlaster.jar"); } catch (MalformedURLException ex) { log.severe("error. >>>"+ex.toString()); } cl = cl.newInstance(urls); try { Class clazz = cl.loadClass("org.xmlBlaster.util.EmbeddedXmlBlaster"); } catch (ClassNotFoundException ex) { assertTrue(ex.getMessage(), true); } } public void testClassloader() { System.out.println("***XmlBlasterClassloaderTest: testClassloader ..."); try { EmbeddedXmlBlaster embed = EmbeddedXmlBlaster.startXmlBlaster(glob); I_XmlBlasterAccess conn = glob.getXmlBlasterAccess(); ConnectQos qos = new ConnectQos(glob, "marcel", "secret"); conn.connect( qos, null ); // Login to xmlBlaster // a sample message unit String xmlKey = "<key oid='123' contentMime='text/plain' contentMimeExtended='myMime'>\n" + " <TestLogin-AGENT>" + " </TestLogin-AGENT>" + "</key>"; String senderContent = "Some content"; MsgUnit msgUnit = new MsgUnit(xmlKey, senderContent.getBytes(), "<qos></qos>"); conn.publish(msgUnit); } catch (Throwable t) { assertTrue( "Some error occured:"+t.toString(), true ); } System.out.println("***XmlBlasterClassloaderTest: testClassloader [SUCCESS]"); } protected void tearDown() { } /** * <pre> * java org.xmlBlaster.test.snmp.InsertTest * </pre> */ public static void main(String args[]) { XmlBlasterClassloaderTest testCl = new XmlBlasterClassloaderTest("XmlBlasterClassloaderTest"); testCl.setUp(); testCl.testClassloader(); testCl.tearDown(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -