tomee-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jgallim...@apache.org
Subject svn commit: r685378 - /openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/
Date Tue, 12 Aug 2008 23:48:23 GMT
Author: jgallimore
Date: Tue Aug 12 16:48:22 2008
New Revision: 685378

URL: http://svn.apache.org/viewvc?rev=685378&view=rev
Log:
OPENEJB-887 added port configuration to wizard, and made this take effect in the launch configuration.
Also added the java agent, which was missing.

Removed:
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerComposite.java
Modified:
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
    openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java

Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
(original)
+++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBRuntimeFragment.java
Tue Aug 12 16:48:22 2008
@@ -123,27 +123,11 @@
 		handle.setMessage("", IMessageProvider.NONE);
 	}
 
-	
-
 	@Override
 	public boolean isComplete() {
 		IRuntimeWorkingCopy wc = getRuntimeDelegate().getRuntimeWorkingCopy();
         IStatus status = wc.validate(null);
         return status == null || status.getSeverity() != IStatus.ERROR;
 	}
-
-
-	@Override
-	public void enter() {
-//		validate();
-	}
-
-
-	@Override
-	public void exit() {
-//		validate();
-	}
-	
-	
 	
 }

Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
(original)
+++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServer.java
Tue Aug 12 16:48:22 2008
@@ -24,12 +24,7 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jst.server.core.FacetUtil;
 import org.eclipse.jst.server.core.IEnterpriseApplication;
-import org.eclipse.jst.server.core.IWebModule;
-import org.eclipse.jst.server.generic.core.internal.CorePlugin;
-import org.eclipse.jst.server.generic.servertype.definition.ServerRuntime;
 import org.eclipse.wst.server.core.IModule;
-import org.eclipse.wst.server.core.IModuleType;
-import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerUtil;
 import org.eclipse.wst.server.core.model.ServerDelegate;
 
@@ -97,4 +92,52 @@
 	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws
CoreException {
 	}
 
+	public void setEJBPort(String port) {
+		setAttribute("org.apache.openejb.eclipse.server.ejbport", port);
+	}
+	
+	public String getEJBPort() {
+		return getAttribute("org.apache.openejb.eclipse.server.ejbport", "4201");
+	}
+
+	public void setHTTPEJBPort(String port) {
+		setAttribute("org.apache.openejb.eclipse.server.httpejbport", port);
+	}
+	
+	public String getHTTPEJBPort() {
+		return getAttribute("org.apache.openejb.eclipse.server.httpejbport", "4204");
+	}
+
+	public void setHSQLPort(String port) {
+		setAttribute("org.apache.openejb.eclipse.server.hsqlport", port);
+	}
+	
+	public String getHSQLPort() {
+		return getAttribute("org.apache.openejb.eclipse.server.hsqlport", "9001");
+	}
+
+	public void setTelnetPort(String port) {
+		setAttribute("org.apache.openejb.eclipse.server.telnetport", port);
+	}
+	
+	public String getTelnetPort() {
+		return getAttribute("org.apache.openejb.eclipse.server.telnetport", "4202");
+	}
+
+	public void setAdminPort(String port) {
+		setAttribute("org.apache.openejb.eclipse.server.adminport", port);
+	}
+	
+	public String getAdminPort() {
+		return getAttribute("org.apache.openejb.eclipse.server.adminport", "4200");
+	}
+
+	public void setConfigFile(String configFile) {
+		setAttribute("org.apache.openejb.eclipse.server.configfile", configFile);
+	}
+	
+	public String getConfigFile() {
+		return getAttribute("org.apache.openejb.eclipse.server.configfile", "");
+	}
+
 }

Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
(original)
+++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerBehaviour.java
Tue Aug 12 16:48:22 2008
@@ -57,6 +57,7 @@
 
 		private static final int ONE_SECOND = 1000;
 		private boolean running = false;
+		private int adminPort = getAdminPort();
 
 		@Override
 		public void run() {
@@ -79,7 +80,7 @@
 		private void check() throws ServerStoppedException {
 			// connect to admin interface
 			try {
-				Socket socket = new Socket("localhost", 4200);
+				Socket socket = new Socket("localhost", adminPort);
 				socket.close();
 				
 				// update the server status if this is first time we've connected
@@ -114,6 +115,24 @@
 	
 	private ServerMonitor monitor;
 	private Map<IModule, String> publishedModules = new HashMap<IModule, String>();
+
+	private int getAdminPort() {
+		try {
+			OpenEJBServer openEJBServer = (OpenEJBServer) (getServer().getAdapter(OpenEJBServer.class));
+			return Integer.parseInt(openEJBServer.getAdminPort());
+		} catch (NumberFormatException e) {
+			return 4200;
+		}
+	}
+
+	private int getEJBDPort() {
+		try {
+			OpenEJBServer openEJBServer = (OpenEJBServer) (getServer().getAdapter(OpenEJBServer.class));
+			return Integer.parseInt(openEJBServer.getEJBPort());
+		} catch (NumberFormatException e) {
+			return 4201;
+		}
+	}
 	
 	@Override
 	public void stop(boolean force) {
@@ -126,7 +145,7 @@
 	private void stopServer() {
 		// connect to admin interface, and send 'Q' to stop the server
 		try {
-			Socket socket = new Socket("localhost", 4200);
+			Socket socket = new Socket("localhost", getAdminPort());
 			socket.getOutputStream().write('Q');
 			socket.close();
 			
@@ -142,13 +161,24 @@
 		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME, "org.apache.openejb.cli.Bootstrap");
 
 		OpenEJBRuntimeDelegate runtime = getRuntimeDelegate();
-
+		OpenEJBServer openejbServer = (OpenEJBServer) (getServer().getAdapter(OpenEJBServer.class));
+		
 		IVMInstall vmInstall = runtime.getVMInstall();
 		if (vmInstall != null)
 			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH, JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
 
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, "start");
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "-Dopenejb.home="
+  getServer().getRuntime().getLocation().toString() /*+ " -javaagent:" + runtime.getJavaAgent()*/);
+		String args = " start";
+		if (openejbServer.getConfigFile() != null && openejbServer.getConfigFile().length()
> 0) {
+			args += " --conf=\"" + openejbServer.getConfigFile() + "\"";
+		}
+		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, args);
+		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, "-Dejbd.port="
+ openejbServer.getEJBPort() + 
+				" -Dhttpejbd.port=" + openejbServer.getHTTPEJBPort() +
+				" -Dhsql.port=" + openejbServer.getHSQLPort() + 
+				" -Dtelnet.port=" + openejbServer.getTelnetPort() + 
+				" -Dadmin.port=" + openejbServer.getAdminPort() + 
+				" -Dopenejb.home=" +  getServer().getRuntime().getLocation().toString() + 
+				" -javaagent:" + runtime.getJavaAgent());
 		
 		List<IRuntimeClasspathEntry> cp = new ArrayList<IRuntimeClasspathEntry>();
 		IPath serverJar = new Path(runtime.getCore());
@@ -201,12 +231,12 @@
 	}
 	
 	private void doPublish(IModule module, int kind) {
-		ServerDeployer serverDeployer = new ServerDeployer(getRuntimeDelegate().getRuntime().getLocation().toFile().getAbsolutePath());
+		ServerDeployer serverDeployer = new ServerDeployer(getRuntimeDelegate().getRuntime().getLocation().toFile().getAbsolutePath(),
getEJBDPort());
 		
 		// if module already published, try an undeploy first, and cleanup temp file
 		String jarFile = publishedModules.get(module);
 		if (jarFile != null) {
-			boolean undeployed = serverDeployer.undeploy(jarFile);
+			serverDeployer.undeploy(jarFile);
 			new File(jarFile).delete();
 			publishedModules.remove(module);
 		}

Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
(original)
+++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/OpenEJBServerFragment.java
Tue Aug 12 16:48:22 2008
@@ -16,21 +16,132 @@
  */
 package org.apache.openejb.eclipse.server;
 
+import java.io.File;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.TaskModel;
 import org.eclipse.wst.server.ui.wizard.IWizardHandle;
 import org.eclipse.wst.server.ui.wizard.WizardFragment;
 
-public class OpenEJBServerFragment extends WizardFragment {
+public class OpenEJBServerFragment extends WizardFragment implements ModifyListener {
 
 	private IWizardHandle handle;
-
+	private Label portLabel;
+	private Text portText;
+	private Label httpEjbPortLabel;
+	private Text httpEjbPort;
+	private Label hsqlPortLabel;
+	private Text hsqlPort;
+	private Label telnetPortLabel;
+	private Text telnetPort;
+	private Label adminPortLabel;
+	private Text adminPort;
+	private Label configFileLabel;
+	private Text configFile;
+	private Button configFileBrowseButton;
+	
 	@Override
 	public Composite createComposite(Composite parent, IWizardHandle handle) {
+		OpenEJBServer server = getServer();
+		
 		this.handle = handle;
 		handle.setTitle("OpenEJB Server");
 		handle.setImageDescriptor(Activator.getDefault().getImageDescriptor("RUNTIME"));
-		ServerComposite serverComposite = new ServerComposite(parent, SWT.NULL);
+		final Composite serverComposite = new Composite(parent, SWT.NULL);
+		
+		portLabel = new Label(serverComposite, SWT.NONE);
+		portLabel.setText(Messages.getString("org.apache.openejb.eclipse.server.ejbPort"));
+		portText = new Text(serverComposite, SWT.BORDER);
+		portText.addModifyListener(this);
+		Label filler5 = new Label(serverComposite, SWT.NONE);
+		httpEjbPortLabel = new Label(serverComposite, SWT.NONE);
+		httpEjbPortLabel.setText("HTTP EJB Port");
+		httpEjbPort = new Text(serverComposite, SWT.BORDER);
+		httpEjbPort.addModifyListener(this);
+		Label filler4 = new Label(serverComposite, SWT.NONE);
+		hsqlPortLabel = new Label(serverComposite, SWT.NONE);
+		hsqlPortLabel.setText("HSQL Port");
+		hsqlPort = new Text(serverComposite, SWT.BORDER);
+		hsqlPort.addModifyListener(this);
+		Label filler3 = new Label(serverComposite, SWT.NONE);
+		telnetPortLabel = new Label(serverComposite, SWT.NONE);
+		telnetPortLabel.setText("Telnet Port");
+		telnetPort = new Text(serverComposite, SWT.BORDER);
+		telnetPort.addModifyListener(this);
+		Label filler2 = new Label(serverComposite, SWT.NONE);
+		adminPortLabel = new Label(serverComposite, SWT.NONE);
+		adminPortLabel.setText("Admin Port");
+		adminPort = new Text(serverComposite, SWT.BORDER);
+		adminPort.addModifyListener(this);
+		Label filler1 = new Label(serverComposite, SWT.NONE);
+		configFileLabel = new Label(serverComposite, SWT.NONE);
+		configFileLabel.setText("Configuration file");
+		configFile = new Text(serverComposite, SWT.BORDER);
+		configFile.addModifyListener(this);
+		configFileBrowseButton = new Button(serverComposite, SWT.NONE);
+		configFileBrowseButton.setText("...");
+		configFileBrowseButton.addSelectionListener(new SelectionAdapter() {
+
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				FileDialog dialog = new FileDialog(serverComposite.getShell());
+                dialog.setFilterExtensions(new String[] {"*.xml", "*.*"});
+                dialog.setFilterNames(new String[] {"XML files", "All files"});
+                dialog.setText("Selection openejb.xml configuration file");
+                String selectedFile = dialog.open();
+                if (selectedFile != null)
+                    configFile.setText(selectedFile);
+			}
+			
+		});
+		GridLayout gridLayout = new GridLayout();
+		gridLayout.numColumns = 3;
+		serverComposite.setLayout(gridLayout);
+
+		String ejbPortNum = "4201";
+		String httpEjbPortNum = "4204";
+		String hsqlPortNum = "9001";
+		String telnetPortNum = "4202";
+		String adminPortNum = "4200";
+		String alternateConfigFile = "";
+		
+		try {
+			ejbPortNum = server.getEJBPort();
+			httpEjbPortNum = server.getHTTPEJBPort();
+			hsqlPortNum = server.getHSQLPort();
+			telnetPortNum = server.getTelnetPort();
+			adminPortNum = server.getAdminPort();
+			alternateConfigFile = server.getConfigFile();
+		} catch (Exception e) {
+		}
+			
+		portText.setText(ejbPortNum);
+		httpEjbPort.setText(httpEjbPortNum);		
+		hsqlPort.setText(hsqlPortNum);
+		telnetPort.setText(telnetPortNum);
+		adminPort.setText(adminPortNum);
+		configFile.setText(alternateConfigFile);
+		
+		validate();
+		
 		return serverComposite;
 	}
 
@@ -40,7 +151,99 @@
 	}
 
 	@Override
+	public void performFinish(IProgressMonitor monitor) throws CoreException {
+		super.performFinish(monitor);
+	}
+
+	private OpenEJBServer getServer() {
+		IServerWorkingCopy wc = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
+		if (wc == null) {
+		}
+		
+		OpenEJBServer server = (OpenEJBServer) wc.loadAdapter(OpenEJBServer.class, new NullProgressMonitor());
+		return server;
+	}
+
+	private void validate() {
+		if (configFile.getText() != null && configFile.getText().length() > 0) {
+			File config = new File(configFile.getText());
+			if (! config.exists()) {
+				handle.setMessage("Directory does not exist", IMessageProvider.ERROR);
+				return;
+			}
+		}
+		
+		String ejbdPortNum = portText.getText();
+		if (! checkPort(ejbdPortNum)) {
+			handle.setMessage("Invalid EJBD port", IMessageProvider.ERROR);
+			return;
+		}
+			
+
+		String httpEjbdPortNum = httpEjbPort.getText();
+		if (! checkPort(httpEjbdPortNum)) {
+			handle.setMessage("Invalid HTTP EJB port", IMessageProvider.ERROR);
+			return;
+		}
+
+		String hsqlPortNum = hsqlPort.getText();
+		if (! checkPort(hsqlPortNum)) {
+			handle.setMessage("Invalid HSQL port", IMessageProvider.ERROR);
+			return;
+		}
+
+		String telnetPortNum = telnetPort.getText();
+		if (! checkPort(telnetPortNum)) {
+			handle.setMessage("Invalid Telnet port", IMessageProvider.ERROR);
+			return;
+		}
+
+		String adminPortNum = adminPort.getText();
+		if (! checkPort(adminPortNum)) {
+			handle.setMessage("Invalid Admin port", IMessageProvider.ERROR);
+			return;
+		}
+		
+		Set<String> ports = new HashSet<String>();
+		ports.add(ejbdPortNum);
+		ports.add(httpEjbdPortNum);
+		ports.add(hsqlPortNum);
+		ports.add(telnetPortNum);
+		ports.add(adminPortNum);
+		
+		if (ports.size() != 5) {
+			handle.setMessage("Ports must be unique", IMessageProvider.ERROR);
+			return;
+		}
+
+		OpenEJBServer server = getServer();
+		server.setEJBPort(portText.getText());
+		server.setHTTPEJBPort(httpEjbPort.getText());
+		server.setHSQLPort(hsqlPort.getText());
+		server.setTelnetPort(telnetPort.getText());
+		server.setAdminPort(adminPort.getText());
+		server.setConfigFile(configFile.getText());
+
+		handle.setMessage("", IMessageProvider.NONE);
+	}
+
+	private boolean checkPort(String portNum) {
+		try {
+			int port = Integer.parseInt(portNum);
+			return (port > 0 && port < 65535);
+		} catch (NumberFormatException e) {
+			return false;
+		}
+	}
+
+	public void modifyText(ModifyEvent e) {
+		validate();
+	}
+
+	@Override
 	public boolean isComplete() {
-		return true;
+		return IMessageProvider.NONE == handle.getMessageType();
 	}
+	
+	
 }

Modified: openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java?rev=685378&r1=685377&r2=685378&view=diff
==============================================================================
--- openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java
(original)
+++ openejb/trunk/sandbox/openejb-eclipse-plugin/plugins/org.eclipse.jst.server.generic.openejb/src/main/java/org/apache/openejb/eclipse/server/ServerDeployer.java
Tue Aug 12 16:48:22 2008
@@ -33,10 +33,12 @@
 
 public class ServerDeployer {
 	private String openejbDir;
+	private final int ejbdPort;
 	
-	public ServerDeployer(String openejbDir) {
+	public ServerDeployer(String openejbDir, int ejbdPort) {
 		super();
 		this.openejbDir = openejbDir;
+		this.ejbdPort = ejbdPort;
 	}
 
 	public String deploy(String filename) {
@@ -57,7 +59,7 @@
 		try {
 			Properties properties =	 new Properties();
 			properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.openejb.client.RemoteInitialContextFactory");
-			properties.put(Context.PROVIDER_URL, "ejbd://localhost:4201");
+			properties.put(Context.PROVIDER_URL, "ejbd://localhost:" + ejbdPort);
 			
 			URL[] urls = getUrls(openejbDir);
 			URLClassLoader cl = new URLClassLoader(urls, classLoader);



Mime
View raw message