Problem with JNDI/ JDK
sarahfr May 31, 2012 10:12 AMHi,
I try compile this class and Ihave errors
I have a problem reported on the version of jdk (at compile time I used the version 1.6.0_25).
I didn't know what version of jdk I need to use.
thanks for your help
package com.accesscommerce.cart.util;
import java.io.IOException;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Vector;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import javax.naming.NamingException;
import com.accesscommerce.cart.CartSettings;
import com.accesscommerce.cart.connector.ConnectorFactory;
import com.accesscommerce.cart.connector.ConnectorFactoryException;
import com.accesscommerce.cart.connector.ConnectorJMXIdentification;
/**
* This class supplies general facilities for sharing objects
* between web applications.
* @author rgibault@access-commerce.com
* @version 2006-09-04
*/
public final class ShareUtil implements Serializable
{
/** Repository */
private static javax.management.MBeanServerConnection repository=null;
/** Server */
private static javax.management.ObjectName serverName =null;
/**
* Constructor.
*/
private ShareUtil() {}
/**
* Initialize connections to the repository server and get
* reference to the share server
* @throws IOException
*/
private static void init() throws IOException
{
try
{
final ConnectorFactory factory = new ConnectorFactory(CartSettings.getInstance());
try
{
final ConnectorJMXIdentification jmxIdentification = factory.createConnectorJMXIdentification();
jmxIdentification.verifyJMXIdentification();
}
catch (ConnectorFactoryException e)
{
e.printStackTrace();
}
/**
* final javax.naming.InitialContext ctx= new javax.naming.InitialContext();
* repository = (javax.management.MBeanServerConnection) ctx.lookup("jmx/rmi/RMIAdaptor");
**/
String serverURL = "service:jmx:rmi:///jndi/rmi://127.0.0.1:1090/jmxrmi";
JMXServiceURL url = new JMXServiceURL(serverURL);
serverName = new javax.management.ObjectName("cic:type=CICObjectShare");
HashMap environment = new HashMap();
String[] credentials = new String[]{"admin", "password"};
environment.put(JMXConnector.CREDENTIALS, credentials);
JMXConnector jmxc = JMXConnectorFactory.connect(url, environment);
MBeanServerConnection repository = jmxc.getMBeanServerConnection();
final String tmp = CartSettings.getInstance().getProperty("sharedObjectsTimeout", "0");
final int sharedObjectsTimeout = cic.CICTools.parseInt(tmp);
if (sharedObjectsTimeout>0)
cic.CICObjectShare.TIMEOUT = sharedObjectsTimeout;
} catch (MalformedObjectNameException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
}
}
/**
* Get repository
* @return repository
* @throws IOException
*/
private static MBeanServerConnection getRepository() throws IOException
{
if (repository==null)
init();
return repository;
}
/**
* Get share server name
* @return share server name
* @throws IOException
*/
private static ObjectName getServerName() throws IOException
{
if (serverName==null)
init();
return serverName;
}
/**
* Add object into a repository shared by all web applications running on the WebApp server
* @param ref reference to the shared object
* @param sharedObject shared object
* @throws IOException
*/
public static void addObject(Object ref,Object sharedObject) throws IOException
{
final ConnectorFactory factory = new ConnectorFactory(CartSettings.getInstance());
try
{
final ConnectorJMXIdentification jmxIdentification = factory.createConnectorJMXIdentification();
jmxIdentification.verifyJMXIdentification();
}
catch (ConnectorFactoryException e)
{
e.printStackTrace();
}
final MBeanServerConnection repository=getRepository();
final javax.management.ObjectName serverName = getServerName();
final String[] signature1 = {java.lang.Object.class.getName(),java.lang.Object.class.getName()};
final java.lang.Object[] params1 = new java.lang.Object[2];
params1[0] = ref;
params1[1] = sharedObject;
try {
repository.invoke(serverName, "addObject", params1, signature1);
} catch (InstanceNotFoundException e) {
e.printStackTrace();
} catch (MBeanException e) {
e.printStackTrace();
} catch (ReflectionException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Get object from a repository shared by all web applications running on the WebApp server
* @param ref reference to the shared object
* @return shared object
* @throws IOException
*/
public static Object removeObject(Object ref) throws IOException
{
final ConnectorFactory factory = new ConnectorFactory(CartSettings.getInstance());
try
{
final ConnectorJMXIdentification jmxIdentification = factory.createConnectorJMXIdentification();
jmxIdentification.verifyJMXIdentification();
}
catch (ConnectorFactoryException e)
{
e.printStackTrace();
}
final MBeanServerConnection repository=getRepository();
final javax.management.ObjectName serverName = getServerName();
final String[] signature1 = {java.lang.Object.class.getName()};
final java.lang.Object[] params1 = new java.lang.Object[1];
params1[0] = ref;
try {
return repository.invoke(serverName, "removeObject", params1, signature1);
} catch (InstanceNotFoundException e) {
e.printStackTrace();
} catch (MBeanException e) {
e.printStackTrace();
} catch (ReflectionException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* removeAllObject
* @param key keyCommon for objects
* @throws IOException
*/
public static void removeAllObjectPrefixedBy(String key) throws IOException
{
final ConnectorFactory factory = new ConnectorFactory(CartSettings.getInstance());
try
{
final ConnectorJMXIdentification jmxIdentification = factory.createConnectorJMXIdentification();
jmxIdentification.verifyJMXIdentification();
}
catch (ConnectorFactoryException e)
{
e.printStackTrace();
}
final MBeanServerConnection repository=getRepository();
final javax.management.ObjectName serverName = getServerName();
final String[] signatureListKeys = {java.lang.String.class.getName()};
final String[] signature1 = {java.lang.Object.class.getName()};
final java.lang.String[] paramsListKeys = new java.lang.String[1];
final java.lang.Object[] params1 = new java.lang.Object[1];
try
{
paramsListKeys[0] = key;
final Vector<String> objectList = (Vector<String>) repository.invoke(serverName, "listKeys", paramsListKeys, signatureListKeys);
for (String object : objectList)
{
params1[0] = object;
repository.invoke(serverName, "removeObject", params1, signature1);
}
}
catch (InstanceNotFoundException e)
{
e.printStackTrace();
}
catch (MBeanException e)
{
e.printStackTrace();
}
catch (ReflectionException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}