WebSphere Web.xml / 바인딩 문제
-
17-09-2020 - |
문제
나는 최근에 WebSphere 내에 귀를 배포하는 동안 문제가 발생하기 시작했습니다.APPS를 설치 한 후에 얻은 오류가 아래에 제공됩니다.
------Start of DE processing------ = [7/18/10 10:51:19:309 CDT] , key = javax.management.MBeanException com.ibm.ws.management.AdminServiceImpl.invoke 679
Exception = javax.management.MBeanException
Source = com.ibm.ws.management.AdminServiceImpl.invoke
probeid = 679
Stack Dump = javax.management.MBeanException: Exception thrown in RequiredModelMBean while trying to invoke operation startApplication
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1119)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:973)
...
...
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
Caused by: com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException: java.lang.NullPointerException
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:955)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1437)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:4191)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4289)
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:245)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1442)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
...
...
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:271)
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1092)
... 64 more
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:884)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
... 79 more
Caused by: java.lang.NullPointerException
at com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper.constructServletMappings(WebAppConfigurationHelper.java:406)
at com.ibm.ws.wswebcontainer.webapp.WebAppConfigurationHelper.createConfiguration(WebAppConfigurationHelper.java:148)
at com.ibm.ws.webcontainer.metadata.WebMetaDataFactory.createMetaData(WebMetaDataFactory.java:180)
at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaDataFromFactories(MetaDataMgrImpl.java:172)
at com.ibm.ws.runtime.component.MetaDataMgrImpl.createMetaData(MetaDataMgrImpl.java:306)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:581)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:834)
... 80 more
Dump of callerThis =
Object type = com.ibm.ws.management.AdminServiceImpl$1
com.ibm.ws.management.AdminServiceImpl$1@60726072
parm[0] = WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=cc503216Node02,version=6.1.0.29,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=cc503216Node02Cell,spec=1.0
==> Performing default dump from com.ibm.ws.management.dm.JmxDM = Sun Jul 18 10:51:19 CDT 2010
Dump of callerThis =
Object type = com.ibm.ws.management.AdminServiceImpl$1
val$origName =
oldSerialVersionUID = -5467795090068647408
newSerialVersionUID = 1081892073854801359
oldSerialPersistentFields = [Ljava.io.ObjectStreamField;@7b127b12
newSerialPersistentFields = {}
serialVersionUID = 1081892073854801359
serialPersistentFields = this.val$origName.newSerialPersistentFields
compat = false
_Empty_property_array = {}
_EmptyPropertyList = java.util.Hashtable@7e287e28
_canonicalName = WebSphere:cell=cc503216Node02Cell,mbeanIdentifier=ApplicationManager,name=ApplicationManager,node=cc503216Node02,platform=proxy,process=server1,spec=1.0,type=ApplicationManager,version=6.1.0.29
_kp_array = [Ljavax.management.ObjectName$Property;@57a257a2
_ca_array = [Ljavax.management.ObjectName$Property;@57be57be
_domain_length = 9
_propertyList = java.util.Hashtable@60846084
_domain_pattern = false
_property_pattern = false
val$operationName = startApplication
val$params =
[0] = CommercialWSIntegration
val$signature =
[0] = java.lang.String
this$0 = com.ibm.ws.management.AdminServiceImpl@9bc09bc
+Data for directive [defaultjmx] obtained. =
==> Dump complete for com.ibm.ws.management.dm.JmxDM = Sun Jul 18 10:51:19 CDT 2010
.
나는 이것이 Web.xml 내에서 자원 바인딩과 관련이 있다고 믿지만 확실하지는 않습니다.나는 IBM 독점적 인 바인딩 파일을 만들지 않고 귀에있는 사람들을 포함하지만, 오히려 배포 프로세스의 일부로 수행 될 것으로 예상하고 있습니다.기존 바인딩을 덮어 쓰고 다른 바인딩 설정의 조합을 덮어 쓰는 동안 새 바인딩을 생성하도록 알려주는 것을 시도했습니다. 그러나 항상 위의 오류를 얻는 것처럼 보입니다.아래 Web.xml을 제공했습니다.잘못 보이는 것을 식별 할 수 있습니까?Resource-Ref 요소의 ID 속성을 제거했지만 도움이되지 않는 것 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>
CommercialWSIntegrationWARProject
</display-name>
<context-param>
<param-name>
log4jConfigLocation
</param-name>
<param-value>
/WEB-INF/log4j.xml
</param-value>
</context-param>
<!-- Reads request input using UTF-8 encoding -->
<filter>
<filter-name>
characterEncodingFilter
</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>
encoding
</param-name>
<param-value>
UTF-8
</param-value>
</init-param>
<init-param>
<param-name>
forceEncoding
</param-name>
<param-value>
true
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>
characterEncodingFilter
</filter-name>
<url-pattern>
/*
</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<servlet>
<description>
</description>
<display-name>
CommercialPDInitServlett
</display-name>
<servlet-name>
CommercialPDInitServlett
</servlet-name>
<servlet-class>
com.inscompany.cqp.integration.CommercialPDInitServlett
</servlet-class>
<load-on-startup>
-1
</load-on-startup>
</servlet>
<servlet>
<servlet-name>
Spring MVC Dispatcher Servlet
</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>
contextConfigLocation
</param-name>
<param-value>
/WEB-INF/spring/app-config.xml
</param-value>
</init-param>
<load-on-startup>
1
</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>
default
</servlet-name>
<url-pattern>
/css/*.css
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
default
</servlet-name>
<url-pattern>
/js/*.js
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
CommercialPDInitServlett
</servlet-name>
<url-pattern>
/Initialize
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
Spring MVC Dispatcher Servlet
</servlet-name>
<url-pattern>
/rest/*
</url-pattern>
</servlet-mapping>
<resource-ref id="ResourceRef_1191955667160">
<description>
</description>
<res-ref-name>
url/pdProps
</res-ref-name>
<res-type>
java.net.URL
</res-type>
<res-auth>
Container
</res-auth>
<res-sharing-scope>
Shareable
</res-sharing-scope>
<mapped-name>url/pdProps</mapped-name>
</resource-ref>
<resource-ref id="ResourceRef_1191957500691">
<description>
</description>
<res-ref-name>
jdbc/CCDB2
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
Container
</res-auth>
<res-sharing-scope>
Shareable
</res-sharing-scope>
<mapped-name>jdbc/CCDB2</mapped-name>
</resource-ref>
<resource-ref id="ResourceRef_1271699412761">
<description>
</description>
<res-ref-name>
jms/QMGR
</res-ref-name>
<res-type>
javax.jms.ConnectionFactory
</res-type>
<res-auth>
Container
</res-auth>
<res-sharing-scope>
Shareable
</res-sharing-scope>
<mapped-name>jms/QMGR</mapped-name>
</resource-ref>
<resource-ref id="ResourceRef_1271699443228">
<description>
</description>
<res-ref-name>
jms/SVC.MDB.APP
</res-ref-name>
<res-type>
javax.jms.Queue
</res-type>
<res-auth>
Container
</res-auth>
<res-sharing-scope>
Shareable
</res-sharing-scope>
<mapped-name>jms/SVC.MDB.APP</mapped-name>
</resource-ref>
</web-app>
.
도움을 주셔서 대단히 감사합니다. 제레미
해결책
문제는 동일한 이름의 두 개의 서로 다른 서블릿을 사용하여 발생했습니다.아래에 제공된 항목을 꺼내면 응용 프로그램을 다시 성공적으로 시작할 수있었습니다.
<servlet-mapping>
<servlet-name>
default
</servlet-name>
<url-pattern>
/css/*.css
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>
default
</servlet-name>
<url-pattern>
/js/*.js
</url-pattern>
</servlet-mapping>
.
이것은 다른 사람들이 다른 사람들을 돕기를 바랍니다.
다른 팁
이미 설치된 다른 이름과 동일한 귀를 설치할 수 있는지 확인하십시오.
위의 문제에 대해 비슷한 예외를 얻었습니다
제휴하지 않습니다 StackOverflow