2012-11-01 23 views
15

में इस मॉड्यूल में 'XXX' नामक एक घटक पहले ही परिभाषित किया गया है, मैंने अपने आवेदन में TimerServiceDispatcher के साथ वसंत बीन नाम नहीं बनाया है। लेकिन, JBossTimerServiceDispatcher की वजह से इस मॉड्यूल में पहले से ही अपवाद फेंक दिया गया है। मुझे नहीं पता कि समस्या क्या है। मुझे क्या याद आ रहा है मुझे क्या करना है?जेबॉस 7.1.1

मेरा एप्लिकेशन सीम 2.3, स्प्रिंग 3.0 और जेपीए 2.0 का उपयोग करता है। मैं EJB का उपयोग नहीं करता हूं।

11:29:01,531 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "MRBS.war" 
11:29:04,217 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.deployment.unit."MRBS.war".PARSE: org.jboss.msc.service.StartExcept 
ion in service jboss.deployment.unit."MRBS.war".PARSE: Failed to process phase PARSE of deployment "MRBS.war" 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [rt.jar:1.6.0_23] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.6.0_23] 
    at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_23] 
Caused by: java.lang.IllegalArgumentException: JBAS011046: A component named 'TimerServiceDispatcher' is already defined in this module 
    at org.jboss.as.ee.component.EEModuleDescription.addComponent(EEModuleDescription.java:137) 
    at org.jboss.as.ejb3.deployment.processors.EJBComponentDescriptionFactory.addComponent(EJBComponentDescriptionFactory.java:60) 
    at org.jboss.as.ejb3.deployment.processors.SessionBeanComponentDescriptionFactory.processSessionBeans(SessionBeanComponentDescriptionFactory.java:157) 
    at org.jboss.as.ejb3.deployment.processors.SessionBeanComponentDescriptionFactory.processAnnotations(SessionBeanComponentDescriptionFactory.java:86) 
    at org.jboss.as.ejb3.deployment.processors.AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.processAnnotations(AnnotatedEJBComponentDescriptionDeploymentUnitProcessor.java: 
58) 
    at org.jboss.as.ejb3.deployment.processors.AbstractDeploymentUnitProcessor.deploy(AbstractDeploymentUnitProcessor.java:81) 
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 
    ... 5 more 

11:29:04,230 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "MRBS.war" was rolled back with failure message {"JBAS014671: Failed servi 
ces" => {"jboss.deployment.unit.\"MRBS.war\".PARSE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"MRBS.war\".PARSE: Failed to process phase PARSE of d 
eployment \"MRBS.war\""}} 
11:29:04,292 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015877: Stopped deployment MRBS.war in 61ms 
11:29:04,294 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report 
JBAS014777: Services which failed to start:  service jboss.deployment.unit."MRBS.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."MRBS.war". 
PARSE: Failed to process phase PARSE of deployment "MRBS.war" 

jboss तैनाती-structure.xml

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> 
    <deployment> 
     <dependencies> 
      <module name="org.hibernate" export="true"/> 
      <module name="javax.faces.api" export="true" /> 
      <module name="com.sun.jsf-impl" export="true"/> 
      <module name="org.dom4j" export="true"/> 
      <module name="org.hibernate.validator" export="true"/> 
     </dependencies> 
     <exclusions> 
      <module name="org.apache.log4j" /> 
     </exclusions>  
    </deployment> 
</jboss-deployment-structure> 

Deplyment संरचना

MRBS.war 
    -index.html 
    +web-page-pakage 
    +META-INF 
    +WEB-INF 
     +classes 
     +lib 
      aopalliance.jar 
      commons-beanutils.jar 
      commons-codec.jar 
      commons-lang-2.5.jar 
      drools-compiler.jar 
      drools-core.jar 
      drools-decisiontables.jar 
      drools-templates.jar 
      eclipselink.jar 
      el-api.jar 
      guava.jar 
      guice.jar 
      hibernate-ehcache.jar 
      httpclient.jar 
      httpcore.jar 
      javax.persistence_2.0.1.v201006031150.jar 
      jboss-el.jar 
      jboss-seam-debug.jar 
      jboss-seam-excel.jar 
      jboss-seam-ioc.jar 
      jboss-seam-mail.jar 
      jboss-seam-pdf.jar 
      jboss-seam-ui.jar 
      jboss-seam.jar 
      junit-4.8.1.jar 
      log4j-1.2.14.jar 
      mysql-connector-java-5.1.6-bin.jar 
      primefaces-3.3.1.jar 
      sac.jar 
      spring-aop.jar 
      spring-asm.jar 
      spring-beans.jar 
      spring-context.jar 
      spring-core.jar 
      spring-expression.jar 
      spring-jdbc.jar 
      spring-orm.jar 
      spring-tx.jar 
      spring-web.jar 
      urlrewritefilter.jar 
      xercesImpl.jar 
      xml-apis.jar 
     -components.xml  
     -faces-config.xml 
     -jboss-deployment-structure.xml 
     -pages.xml 
     -web.xml 

उत्तर

0

समस्या यह है कि आप TimeServiceDispatcher बनाने यह सीवन ढांचे org.jboss.seam.async.TimerServiceDispatcher के एक वर्ग हिस्सा है सहारे नहीं है, इसके एक सीम एफडब्ल्यू वर्ग।

अब त्रुटि के बारे में।

इस तरह की त्रुटि तब होती है जब एप्लिकेशन और सर्वर द्वारा प्रदान की गई पुस्तकालयों में संघर्ष होते हैं। यह जेबॉस 7.1 के साथ गंभीरता से बहुत आम है और साथ ही बहुत निराशाजनक भी है।

आप क्या सभी पुस्तकालय और वहाँ संस्करण यू अपने आवेदन के अंदर पैकेजिंग कर रहे हैं पता करने के लिए

  1. की ज़रूरत है?
  2. क्या ऊपर पुस्तकालयों और संस्करण के सभी पुस्तकालयों उस संस्करण

    के लिए दोनों पक्ष चेक पर कर रहे हैं के लिए JBoss 7,1

अब द्वारा प्रदान की जाती है, तो आवेदन के संस्करण और JBoss में ही है, तो है कि जार को दूर आवेदन से (सुझाया गया) (अन्यथा आप तैनाती-struct.xml में कॉन्फ़िगर कर सकते हैं जो कि उपयोग करने के लिए)

यदि अनुप्रयोग जार और जेबॉस का संस्करण अलग है, तो उस स्थिति में, आपको तैनाती वर्णनकर्ता में कॉन्फ़िगर करना होगा उठाना।

+0

मैंने jboss-deployment-structure.xml – CycDemo

+0

@CycDemo का उपयोग किया, ठीक है, लेकिन आपको लाइब्रेरी विवादों को हल करने की आवश्यकता है। क्या आप अपने युद्ध की संरचना पोस्ट कर सकते हैं? 'jar -tf nameofwar.war' का उपयोग करें और परिणाम पोस्ट करें? –

+0

@CycDemo, क्या आप चैट में शामिल हो जाएंगे? अन्यथा यह एक लंबी चर्चा होगी? –

10

मुझे इसका उत्तर पता है। मेरे जिद्दीपन के कारण जेबॉस समर्थन के साथ सप्ताह बिताएं। वे ईएपी 6.2.एक्स रिलीज के साथ फिक्स या कम से कम बेहतर मैसेजिंग प्रदान करने की योजना बना रहे हैं।

समस्या EJB एनोटेशन preprocessors साथ पैदा होती है - जो अपने युद्ध लेते हैं, और libs यह में संकलित और EJB एनोटेशन के लिए उन्हें स्कैन करता है। कुछ जार फ़ाइलों के लिए "क्लासपाथ:" के लिए मेनिफेस्ट में प्रवेश हो सकता है। (या प्रविष्टियों में से एक के रूप में '।' के साथ जो भी हो)। इससे एनोटेशन प्रीप्रोसेसर वेब-इंफ लिब में सभी जार फ़ाइलों को बेवकूफ तरीके से संसाधित करने का कारण बनता है। आखिर में यह एक जेएआर फ़ाइल में एक ईजेबी एनोटेशन के साथ मिल जाएगा, जो कि पहले से ही देखा जा चुका है, क्योंकि यह पहले ही संसाधित हो चुका था - इससे यह शिकायत करने का कारण बनता है "एक घटक नामित xxx पहले ही परिभाषित है"।

तो यहां सबसे निराशाजनक हिस्सा यह है कि शायद यह पुरानी जार फ़ाइल है कि आप इस बारे में भी परवाह नहीं करते कि इसमें इस अनावश्यक क्लासपाथ मैनिफेस्ट प्रविष्टि है - और जेबॉस को खुद पर पुनर्विचार करने का कारण बनता है।

+0

पर पोस्ट और उत्तर के माध्यम से पढ़ें ठीक है, यह मेरे लिए भी मामला प्रतीत होता है, लेकिन आपने इसे कैसे ठीक किया - यह है कि आपने किया ? – Carolik

+0

उपरोक्त मुद्दे को कैसे हल करें? – Jet

+0

जो जार फ़ाइल आप उपयोग कर रहे हैं उसे ढूंढें (निर्भरता के निशान का पालन करें) - यह एक कस्टम जार फ़ाइल है और मैवेन में कुछ नहीं है। इसे खोलें, मैनिफेस्ट को संपादित करें, और हटाएं "।" manifest.mf में निर्दिष्ट क्लासपाथ प्रविष्टि से, फिर इसे वापस जार करें। यह संभवतः आपके आवेदन युद्ध या कान इत्यादि के साथ तैनात जारों में से एक होगा – djchapm

17

मेरे पास @ सिंगलेटन और @ स्टेटलेस के साथ एक बीन एनोटेटेड था जिसने इस त्रुटि को ट्रिगर किया था। मेरा कोड निश्चित रूप से गलत था, लेकिन इस तरह के संदेश और पोस्ट मुझे थोड़ी देर के लिए गलत रास्ते का नेतृत्व करते हैं।

+0

+1। मैंने भी यही गलती की। यह त्रुटि संदेश कुछ सुधार का उपयोग कर सकता है। –

+0

आप क्यों कहते हैं "मेरा कोड निश्चित रूप से गलत था"? हमें यह समस्या है, हमारे पास ऐसी टिप्पणियां हैं, लेकिन मुझे नहीं पता कि उनके साथ क्या गलत है। जब तक हम 1.7.0_60 जेडीके में अपग्रेड नहीं किए जाते, तब तक उन्होंने ठीक काम किया। – Redboots

+3

मैं कहता हूं कि क्योंकि सिंगलटन और स्टेटलेस बीन प्रकार मूल रूप से 2 अलग-अलग बीन प्रकार होते हैं। मैं कहना चाहता हूं कि वे पारस्परिक रूप से अनन्य हैं। सिंगलटन बीन सभी क्लाइंट कॉल के लिए एक बीन कह रहा है, जिसका अर्थ है कि यह प्रकृति में स्टेटलेस है। तो मेरा मानना ​​है कि जेबॉस एक बार बीन को तैनात करने के लिए समाप्त होता है, एक बार एक स्टेटलेस बीन के रूप में और एक बार सिंगलटन के रूप में, जो एक नामकरण संघर्ष में समाप्त होता है। – Piwaf

0

चिपकाने और नए घटकों को बनाने की प्रतिलिपि करते समय, मैं उस मान को अपडेट करना भूल गया था जो @Stateless(value) एनोटेशन नए घटकों में स्वीकार करता है। इसका मतलब था कि मेरे पास एक ही नाम के साथ दो घटक थे और मुझे यह त्रुटि मिली। उम्मीद है कि यह किसी की मदद करता है।

4

रनिंग Maven लक्ष्यों:

  1. wildfly:undeploy
  2. clean
  3. wildfly:deploy

हमारे मामले में मदद की:

[ERROR] की वजह से: java.lang .IllegalArgumentExcept आयन: WFLYEE0040: 'xxx' नामक एक घटक पहले से ही इस मॉड्यूल में परिभाषित किया गया है "}}

0

@Singleton को हटाने से मेरे लिए यह त्रुटि ठीक हो गई है। हालांकि कोई विचार नहीं।

5

मुझे एक ही समस्या थी लेकिन मेरे लिए सुझाए गए समाधानों में से कोई भी मदद नहीं करता था। मैंने देखा है कि EJB JAR वर्तमान twice (newest version and older version) था WEB.WAR.

ऐसा इसलिए हुआ क्योंकि ग्रहण में माता-पिता परियोजना पर maven स्वच्छ आपरेशन बच्चे परियोजनाओं पर झरना नहीं था में। मैंने child project पर एक साधारण "mvn clean" करके इसे ठीक किया।

0

मुझे IntelliJ में एक ही समस्या थी। कारण यह था कि इंटेलिजे ने वेब कक्षाओं में वेब-आईएनएफ/कक्षाओं में और वेब-आईएनएफ/lib में एक अलग जार फ़ाइल के रूप में अपनी कक्षाओं के साथ एक WAR फ़ाइल बनाई।

मुझे यह जानने के लिए कुछ समय लगा कि इंटेलिजे ने ऐसा क्यों किया। कारण बातचीत फ़ाइल में निहित है -> परियोजना संरचना -> कलाकृतियों: IntelliJ Project Structure Dialogue

'vertrag-ui-युद्ध' को हटाने के बाद उत्पादन संकलन, त्रुटि अब और नहीं होती है। पीएस मुझे नहीं पता कि इंटेलिजे ने यह सेटिंग क्यों की - मैंने निश्चित रूप से इसे सेट नहीं किया।