Java 使用Elasticache连接Beanstalk时出现UnsolvedAddressException

Java 使用Elasticache连接Beanstalk时出现UnsolvedAddressException,java,amazon-elastic-beanstalk,amazon-elasticache,Java,Amazon Elastic Beanstalk,Amazon Elasticache,我正在尝试部署一个使用Elasticache的Javaservlet应用程序。(Tomcat7,Beanstalk上的Java7) 但它给出了一个错误的说法: client=new MemcachedClient(new InetSocketAddress(configEndpoint, clusterPort)); 堆栈: java.nio.channels.UnresolvedAddressException at sun.nio.ch.Net.checkAddress(Net.java:

我正在尝试部署一个使用Elasticache的Javaservlet应用程序。(Tomcat7,Beanstalk上的Java7)

但它给出了一个错误的说法:

client=new MemcachedClient(new InetSocketAddress(configEndpoint, clusterPort));
堆栈:

java.nio.channels.UnresolvedAddressException
at sun.nio.ch.Net.checkAddress(Net.java:127)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:644)
at net.spy.memcached.MemcachedConnection.createConnections(MemcachedConnection.java:243)
at net.spy.memcached.MemcachedConnection.<init>(MemcachedConnection.java:182)
at net.spy.memcached.DefaultConnectionFactory.createConnection(DefaultConnectionFactory.java:203)
at net.spy.memcached.MemcachedClient.setupConnection(MemcachedClient.java:338)
at net.spy.memcached.MemcachedClient.initializeClientUsingConfigEndPoint(MemcachedClient.java:300)
at net.spy.memcached.MemcachedClient.<init>(MemcachedClient.java:284)
at net.spy.memcached.MemcachedClient.<init>(MemcachedClient.java:204)
at com.xxx.adserver.GetJs.<init>(GetJs.java:48)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
java.nio.channels.unsolvedAddressException
位于sun.nio.ch.Net.checkAddress(Net.java:127)
位于sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:644)
位于net.spy.memcached.MemcachedConnection.createConnections(MemcachedConnection.java:243)
位于net.spy.memcached.MemcachedConnection。(MemcachedConnection.java:182)
在net.spy.memcached.DefaultConnectionFactory.createConnection(DefaultConnectionFactory.java:203)中
位于net.spy.memcached.MemcachedClient.setupConnection(MemcachedClient.java:338)
位于net.spy.memcached.MemcachedClient.initializeClientUsingConfigEndPoint(MemcachedClient.java:300)
位于net.spy.memcached.MemcachedClient。(MemcachedClient.java:284)
位于net.spy.memcached.MemcachedClient。(MemcachedClient.java:204)
位于com.xxx.adserver.GetJs(GetJs.java:48)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:526)
位于java.lang.Class.newInstance(Class.java:374)
位于org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:143)
位于org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
位于org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
位于org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:680)
位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
位于org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
运行(Thread.java:744)

我尝试编写一个简单的Java程序来连接到同一beanstalk的ec2实例上的Elasticache集群,并且工作正常。因此,tomcat中似乎存在一些配置冲突。

如何在代码中获得configEndpoint和clusterPort?我想您已经仔细检查了这些值是否正确?是的,这些值是正确的。我认为Beanstalk、Elasticache的安全组配置有问题,但安全组配置在ec2实例上,您是说一个简单的Java程序可以在同一个ec2实例上正确运行。