2016-11-22 106 views
0

我在使用weblogic 12c整合Hazelcast期间遇到问题。我必须更改任何配置吗?Hazelcast集成问题 - [WebLogic 12c]

com.hazelcast.instance.NodeExtension com.hazelcast.instance.DefaultNodeExtension

步骤1:[的setDomainEnv.cmd] i的增加了对

SET CLASSPATH =%CLASSPATH%的路径E:LIB \ hazelcast-ALL-3.7.1.jar;

第2步:我已经写了样本的启动类的WebLogic Server

public class HCServer { 
public HCServer() { 
    HazelcastInstance hz = Hazelcast.newHazelcastInstance(); 
} 

public static void main(String[] args) { 
    try { 
     Class.forName("server.HCServer").newInstance(); 

     Set<HazelcastInstance> set = Hazelcast.getAllHazelcastInstances(); 
     for (HazelcastInstance hcInstance : set) { 
      IMap<String, HCTask> iMap = hcInstance.getMap("data"); 

      for (int i = 0; i < 5000; i++) { 
       iMap.put(String.valueOf(i), new HCTask(i)); 
      } 
     } 

    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

} 
} 

继启动服务器要修复构造

<Nov 22, 2016, 4:07:44,922 PM PKT> 
Nov 22, 2016 4:07:45 PM com.hazelcast.config.XmlConfigLocator 
INFO: Loading 'hazelcast-default.xml' from classpath. 
Nov 22, 2016 4:07:46 PM com.hazelcast.instance.DefaultAddressPicker 
INFO: [LOCAL] [dev] [3.7.1] Prefer IPv4 stack is true. 
Nov 22, 2016 4:07:46 PM com.hazelcast.instance.DefaultAddressPicker 
INFO: [LOCAL] [dev] [3.7.1] Picked [192.168.0.37]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true 
Nov 22, 2016 4:07:47 PM com.hazelcast.instance.NodeExtensionFactory 
WARNING: DefaultNodeExtension class has been loaded by two different class-loaders. Are you running Hazelcast in an OSGi environment? If so, set the bundle class-loader in the Config using the setClassloader() method 
<Nov 22, 2016, 4:07:47,256 PM PKT> <com.hazelcast.instance.NodeExtensionFactory> <DefaultNodeExtension class has been loaded by two different class-loaders. Are you running Hazelcast in an OSGi environment? If so, set the bundl 
e class-loader in the Config using the setClassloader() method> 
com.hazelcast.core.HazelcastException: java.lang.NoSuchMethodException: com.hazelcast.instance.DefaultNodeExtension.(com.hazelcast.instance.Node) 
at com.hazelcast.util.ExceptionUtil.peel(ExceptionUtil.java:73) 
at com.hazelcast.util.ExceptionUtil.peel(ExceptionUtil.java:52) 
at com.hazelcast.util.ExceptionUtil.rethrow(ExceptionUtil.java:83) 
at com.hazelcast.instance.NodeExtensionFactory.create(NodeExtensionFactory.java:54) 
at com.hazelcast.instance.DefaultNodeContext.createNodeExtension(DefaultNodeContext.java:35) 
at com.hazelcast.instance.Node.createNodeExtension(Node.java:290) 
at com.hazelcast.instance.Node.(Node.java:177) 
at com.hazelcast.instance.HazelcastInstanceImpl.createNode(HazelcastInstanceImpl.java:155) 
at com.hazelcast.instance.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:126) 
at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance 
(HazelcastInstanceFactory.java:218) 
at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance 
(HazelcastInstanceFactory.java:176) 
at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance 
(HazelcastInstanceFactory.java:126) 
at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:87) 
at server.HCServer.(HCServer.java:13) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance 
(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
at java.lang.Class.newInstance(Class.java:442) 
at server.HCServer.main(HCServer.java:18) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:497) 
+0

为什么从每个实例调用'hcInstance.getMap(“data”);'?从一个实例调用它足以创建分布式IMap。 – sertug

回答

2

不要出现错误HCServer这样的

public HCServer() { 
    Config config = new XmlConfigBuilder().build(); 
    config.setClassLoader(this.getClass().getClassLoader()); 
    HazelcastInstance hz = Hazelcast.newHazelcastInstance(config); 
} 

让我知道它是否工作!