2010-09-15 11 views
24

मैं ग्लासफ़िश 3.0.1 का उपयोग कर रहा हूं, विंडोज एक्सपी प्रो पर जेवीएम 1.6.0_21;पता पहले से ही उपयोग में है: JVM_Bind

मुझे नहीं पता कि मेरे पर्यावरण में क्या बदल गया है, लेकिन जैसे ही मैं एंटरप्राइज़ एप्लिकेशन (ejb मॉड्यूल + ऐप क्लाइंट मॉड्यूल) को तैनात करने की कोशिश करता हूं, मुझे यह स्टैकट्रैक मिलता है।

ग्लासफ़िश को छोड़कर बंदरगाह 3820 पर कुछ भी नहीं चल रहा है ... मैंने सर्वर के साथ नेटस्टैट के साथ जांच की और सर्वर शुरू हो गया।

इसका कारण क्या हो सकता है? कुछ आंतरिक प्रक्रिया संघर्ष?

इस पर कोई सुझाव है कि मैं इसे और कैसे डिबग कर सकता हूं?

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

क्या आपने कोई अन्य पोर्ट उपयोग करने का प्रयास किया था? – Jayan

+0

चेंजिन बंदरगाह काम करता है। मुझे एसएसएल और एसएसएल_MUTUALAUTH के लिए बदलना पड़ा। सवाल अभी भी बनी हुई है, ऐसा क्यों होता है? – Bogdan

+0

क्या आपने पोर्ट 3700 भी चेक किया था? –

उत्तर

9

मुझे लगता है कि आप विंडोज़ का उपयोग कर रहे हैं, जो विशेष रूप से आउटगोइंग सॉकेट के लिए कम पोर्ट नंबरों का उपयोग करने के बारे में बुरा है। ग्लासफ़िश के लिए उपयोग करने वाले पोर्ट नंबर को आरक्षित करने के लिए here देखें।

+0

लिंक के लिए धन्यवाद; उपयोगी हो सकता है। क्या आपको लगता है कि आप "खिड़कियां ... विस्तृत पोर्ट नंबरों का उपयोग करने में विशेष रूप से खराब हैं ..." या विस्तृत पढ़ने के लिए मुझे एक लिंक दे सकते हैं? – Bogdan

+0

@ बोगदान एक और ढेर ओवरफ्लो प्रश्न है जो थोड़ा और विस्तार देता है, http://stackoverflow.com/questions/2630009/how-can-i-work-around-winxp-using-ports-1025-5000-as-ephemeral – MrPotes

+0

लिंक के लिए धन्यवाद। यह खुशी के लिए सबसे अधिक संभावना कारण प्रतीत होता है। जब मैं इसे फिर से टक्कर दूंगा तो मैं इसे ध्यान में रखूंगा। – Bogdan

44

आपका स्थानीय पोर्ट 443/8181/3820 उपयोग किया जाता है।

आप पर लिनक्स/यूनिक्स हैं: जो इस बंदरगाह

उपयोग कर रहा है की जाँच करने के खिड़कियों

  • उपयोग netstat -an और tcpview पर हैं

    • उपयोग netstat -an और lsof -n जाँच करने के लिए।
+15

+1 tcpview –

+0

का उल्लेख करने के लिए +1 नेटस्टैट और टीसीपीव्यू के मुताबिक ग्लासफ़िश चलाने से पहले और आवेदन को तैनात करने की कोशिश करने से पहले पोर्ट 3820 पर कुछ भी नहीं चल रहा है। मेरा अपडेट देखें – Bogdan

+3

tcpview ने मेरे जीवन को बचाया। +1। यह जानने में मदद करता है कि टीसीपीव्यू उस सेवा को मार सकता है जो आपको आवश्यक पोर्ट का उपयोग कर रहा है। – crstamps2

1

अपवाद के रूप में कहता है कि पहले से ही एक ही पोर्ट पर एक और सर्वर चल रहा है। आप या तो उस सेवा को मार सकते हैं या किसी अन्य कवि पर चलाने के लिए ग्लासफ़िश बदल सकते हैं

+0

आप इसे कैसे मारते हैं? – CodyBugstein

0

लॉग इन त्रुटि यह कहती है कि पोर्ट 3820 समस्या है, लेकिन मैं सभी की जांच करने का सुझाव दूंगा जो आपके ऐप को सुनने की कोशिश कर रहे हैं। मैं इस समस्या में भाग गया और यह मुद्दा एक बंदरगाह था जिसे मैं भूल गया था - न कि "मुख्य" जिसे मैं ढूंढ रहा था।

0

विंडोज के तहत, ProcessExplorer प्रत्येक प्रक्रिया के लिए मौजूदा टीसीपी/आईपी कनेक्शन को देखने के लिए शानदार है।

0

आप TCPView उपयोगिता का उपयोग करने का प्रयास कर सकते हैं।

localport कॉलम में खोजने की कोशिश करें वहाँ किसी भी प्रक्रिया पर "व्यस्त" बंदरगाह काम किया। राइट क्लिक करें और प्रक्रिया समाप्त करें। फिर टॉमकैट शुरू करने का प्रयास करें।

यह वास्तव में मेरे लिए काम करता है।

5

खिड़कियों पर व्यवस्थापक अनुमतियों के साथ एक cmd.exe विंडो खोलें और netstat -a -b -o का उपयोग आप प्रक्रिया है कि अपने बंदरगाह रखती है की आईडी प्राप्त करने और कार्य प्रबंधक का उपयोग कर इसे मारने के लिए सक्षम हो जाएगा।

0

मेरा उत्तर इस समस्या के लिए 100% फिट है, लेकिन मैं इसके समाधान और इसके पीछे जाल दस्तावेज करना चाहता हूं, क्योंकि अपवाद एक जैसा है।

मेरा बंदरगाह हमेशा जूनिट टेस्टकेस में जेटी का परीक्षण करने में उपयोग में था। समस्या ग्रहण पर Google का कोड प्रो था, जो मुझे लगता है, पृष्ठभूमि में परीक्षण कर रहा था और इस तरह हर समय मेरे सामने जेटी शुरू कर रहा था। वर्कअराउंड: ग्रहण को खोलने दें * .java फ़ाइलें हमेशा Google के जूनिट संपादक के बजाय जावा संपादक को w/दें। ऐसा लगता है कि मदद करता है।

0

यह समस्या अधिकतर होती है क्योंकि कोड के चलते एक और आबादी हो सकती है, जो कि आपने पिछले कुछ परीक्षणों से किया था। किसी भी अन्य उदाहरण को ढूंढें और बंद करें या यदि यह ठीक है, तो सर्वर को पुनरारंभ करने का प्रयास करें।

+0

के बारे में निचली सीमा है आप एक और उदाहरण कैसे बंद करते हैं? – CodyBugstein

संबंधित मुद्दे