2010-09-15 46 views
24

我在Windows XP Pro上使用Glassfish 3.0.1,JVM 1.6.0_21;已在使用的地址:JVM_Bind

我並不確切地知道我的環境中發生了什麼變化,但只要我嘗試部署企業應用程序(ejb模塊+應用程序客戶端模塊),就會得到此堆棧跟蹤。

除了Glassfish,在端口3820上沒有任何東西在運行...我用netstat檢查服務器停止並啓動服務器。

這可能是什麼原因造成的?一些內部流程衝突?

關於如何進一步調試的技巧?

WARNING: Can not find resource bundle for this logger. class name that failed: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory 
SEVERE: iiop.createsocket_exception 
WARNING: Can not find resource bundle for this logger. class name that failed: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory 
SEVERE: java.net.BindException: Address already in use: JVM_Bind 
     at java.net.PlainSocketImpl.socketBind(Native Method) 
     at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365) 
     at java.net.ServerSocket.bind(ServerSocket.java:319) 
     at java.net.ServerSocket.<init>(ServerSocket.java:185) 
     at javax.net.ssl.SSLServerSocket.<init>(SSLServerSocket.java:106) 
     at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.<init>(SSLServerSocketImpl.java:106) 
     at com.sun.net.ssl.internal.ssl.SSLServerSocketFactoryImpl.createServerSocket(SSLServerSocketFactoryImpl.java:72) 
     at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createSSLServerSocket(IIOPSSLSocketFactory.java:402) 
     at org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory.createServerSocket(IIOPSSLSocketFactory.java:281) 
     at com.sun.corba.ee.impl.transport.SocketOrChannelAcceptorImpl.initialize(SocketOrChannelAcceptorImpl.java:91) 
     at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.getAcceptors(CorbaTransportManagerImpl.java:247) 
     at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.addToIORTemplate(CorbaTransportManagerImpl.java:264) 
     at com.sun.corba.ee.spi.oa.ObjectAdapterBase.initializeTemplate(ObjectAdapterBase.java:131) 
     at com.sun.corba.ee.impl.oa.poa.POAImpl.initialize(POAImpl.java:474) 
     at com.sun.corba.ee.impl.oa.poa.POAImpl.makeRootPOA(POAImpl.java:323) 
     at com.sun.corba.ee.impl.oa.poa.POAFactory$1.evaluate(POAFactory.java:279) 
     at com.sun.corba.ee.impl.orbutil.closure.Future.evaluate(Future.java:57) 
     at com.sun.corba.ee.impl.resolver.LocalResolverImpl.resolve(LocalResolverImpl.java:51) 
     at com.sun.corba.ee.impl.resolver.CompositeResolverImpl.resolve(CompositeResolverImpl.java:55) 
     at com.sun.corba.ee.impl.orb.ORBImpl.resolve_initial_references(ORBImpl.java:1289) 
     at com.sun.corba.ee.impl.naming.cosnaming.TransientNameService.initialize(TransientNameService.java:122) 
     at com.sun.corba.ee.impl.naming.cosnaming.TransientNameService.<init>(TransientNameService.java:90) 
     at org.glassfish.enterprise.iiop.impl.PEORBConfigurator.configure(PEORBConfigurator.java:154) 
     at com.sun.corba.ee.impl.orb.ORBConfiguratorImpl.runUserConfigurators(ORBConfiguratorImpl.java:191) 
     at com.sun.corba.ee.impl.orb.ORBConfiguratorImpl.configure(ORBConfiguratorImpl.java:176) 
     at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:579) 
     at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:680) 
     at com.sun.corba.ee.impl.orb.ORBImpl.setParameters(ORBImpl.java:666) 
     at com.sun.corba.ee.spi.osgi.ORBFactory.initialize(ORBFactory.java:91) 
     at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:612) 
     at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.getORB(GlassFishORBManager.java:289) 
     at org.glassfish.enterprise.iiop.impl.GlassFishORBFactoryImpl.createORB(GlassFishORBFactoryImpl.java:83) 
     at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:122) 
     at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getProtocolManager(GlassFishORBHelper.java:189) 
     at com.sun.ejb.containers.BaseContainer.initializeProtocolManager(BaseContainer.java:810) 
     at com.sun.ejb.containers.BaseContainer.<init>(BaseContainer.java:558) 
     at com.sun.ejb.containers.AbstractSingletonContainer.<init>(AbstractSingletonContainer.java:136) 
     at com.sun.ejb.containers.CMCSingletonContainer.<init>(CMCSingletonContainer.java:73) 
     at com.sun.ejb.containers.ContainerFactoryImpl.createContainer(ContainerFactoryImpl.java:109) 
     at org.glassfish.ejb.startup.EjbApplication.loadContainers(EjbApplication.java:207) 
     at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:197) 
     at org.glassfish.ejb.startup.EjbDeployer.load(EjbDeployer.java:63) 
     at org.glassfish.internal.data.ModuleInfo.load(ModuleInfo.java:175) 
     at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:216) 
     at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338) 
     at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183) 
     at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235) 
     at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224) 
     at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:365) 
     at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:204) 
     at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166) 
     at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100) 
     at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245) 
     at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) 
     at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) 
     at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) 
     at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) 
     at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) 
     at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) 
     at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) 
     at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) 
     at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) 
     at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) 
     at com.sun.grizzly.ContextTask.run(ContextTask.java:69) 
     at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) 
     at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) 
     at java.lang.Thread.run(Thread.java:619) 

WARNING: Can not find resource bundle for this logger. class name that failed: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory 
WARNING: Can not find resource bundle for this logger. class name that failed: org.glassfish.enterprise.iiop.impl.IIOPSSLSocketFactory 
SEVERE: "IOP00410216: (COMM_FAILURE) Unable to create IIOP listener on the specified host/port: all interfaces/3820" 

編輯 這正是我想:

C:\Documents and Settings\b.tanase>netstat -p tcp -ano | findstr :3820 

asadmin> start-domain domain1 
Waiting for DAS to start ... 
Started domain: domain1 
Domain location: D:\java\glassfish-3.0.1\glassfish\domains\domain1 
Log file: D:\java\glassfish-3.0.1\glassfish\domains\domain1\logs\server.log 
Admin port for the domain: 4848 
Command start-domain executed successfully. 

C:\Documents and Settings\b.tanase>netstat -p tcp -ano | findstr :3820 

asadmin> deploy d:/java/projects/netbeans-projects/CountingSystem/dist/CountingS 
ystem.ear 
com.sun.enterprise.admin.cli.CommandException: remote failure: Exception while l 
oading the app : java.lang.RuntimeException: EJB Container initialization error 
Exception while invoking class org.glassfish.ejb.startup.EjbDeployer load method 
: java.lang.RuntimeException: EJB Container initialization error 


Command deploy failed. 

C:\Documents and Settings\b.tanase>netstat -p tcp -ano | findstr :3820 
    TCP 0.0.0.0:3820   0.0.0.0:0    LISTENING  2428 

正如你所看到的沒有什麼監聽端口3820,直到部署failes(之前EJB容器初始化錯誤,我得到的服務器記錄發佈在帖子開始處的堆棧跟蹤)

+0

你嘗試使用另一個端口嗎? changin港口工作 – Jayan 2010-09-15 06:48:17

+0

。我必須更改SSL和SSL_MUTUALAUTH。問題仍然存在,爲什麼會發生? – Bogdan 2010-09-15 07:27:47

+0

你也檢查過端口3700嗎? – 2012-02-21 01:24:23

回答

9

我注意到你正在使用Windows,這是特別糟糕的使用低端口號爲傳出套接字。請參閱here以瞭解如何預留您想要依賴的用於glassfish的端口號。

+0

感謝您的鏈接;可能是有用的。你認爲你可以詳細闡述「窗口......使用低端口號碼特別糟糕......」還是給我一個進一步閱讀的鏈接? – Bogdan 2010-11-25 10:11:57

+0

@Bogdan還有另一個堆棧溢出問題,提供了更多的細節,http://stackoverflow.com/questions/2630009/how-can-i-work-around-winxp-using-ports-1025-5000-as-ephemeral – MrPotes 2011-04-14 15:09:05

+0

感謝您的鏈接。這似乎是發生事件的最可能原因。當我再次遇到它時,我會記住它。 – Bogdan 2011-04-14 16:19:22

44

使用本地端口443/8181/3820。

如果你是在Linux/UNIX:

  • 使用netstat -anlsof -n如果您使用的是Windows

    • 使用netstat -antcpview檢查誰在使用這個端口

    去檢查。

+15

提及tcpview的+1 – 2010-09-15 05:55:22

+0

根據netstat&tcpview,在運行glassfish和嘗試部署應用程序之前,端口3820上沒有運行任何東西。看到我的更新 – Bogdan 2010-09-15 06:17:57

+3

tcpview救了我的命。 +1。它有助於知道tcpview可以終止使用您需要的端口的服務。 – crstamps2 2012-02-20 15:25:32

1

作爲例外說明已經有另一臺服務器在同一個端口上運行。你可以殺死該服務或更改玻璃魚運行在另一位詩人

+0

你是如何殺死它的? – CodyBugstein 2014-05-13 22:31:04

0

記錄的錯誤確實說3820端口是問題,但我會建議調查所有您的應用試圖偵聽的端口。我遇到了這個問題,這個問題是我忘記的一個端口 - 而不是我正在尋找的「主」端口。

0

順便說一下,在Windows下,ProcessExplorer對於觀察每個進程的現有TCP/IP連接是非常棒的。

0

您可以嘗試使用TCPView實用程序。

試圖找到本地端口列有沒有任何進程工作「忙」端口。右鍵單擊並結束該過程。然後嘗試啓動Tomcat

它真的適合我。

5

在Windows上打開帶有管理員權限的cmd.exe窗口並使用netstat -a -b -o 您將獲得保存您的端口並能夠使用任務管理器將其終止的進程的ID。

0

我的答案100%適合這個問題,但我想記錄我的解決方案和它背後的陷阱,因爲Exception是相同的。

我的端口始終在Junit測試用例中測試Jetty。問題在於Eclipse的代碼專業版,我猜測它是在後臺進行測試,因此始終在我之前啓動碼頭。 解決方法:讓Eclipse始終使用Java編輯器而不是Google的Junit編輯器打開* .java文件。這似乎有幫助。

0

這個問題大多發生是因爲可能會有另一個代碼運行,從以前的一些測試中,你很可能會運行。找出並關閉任何其他實例,或者如果沒有問題,請嘗試重新啓動服務器。

+0

如何關閉另一個實例? – CodyBugstein 2015-09-27 18:16:00

相關問題