Liferay jboss:处理500例外

时间:2015-03-26 10:34:15

标签: jboss liferay-6

JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.

JBWEB000070: exception

java.io.FileNotFoundException: /jboss/jboss-eap-6.1/standalone/tmp/work/jboss.web/default-host/empAppMgmt-portlet/aggregate/https_/empAppMgmt-portlet/js/empAppMgmt.jsbrowserId=firefox&minifierType=js&languageId=en_US&b=6210&t=1424361709000&fakeParam=%24{76428%2b66104%2b%27f60cec015d33e6f70fc90789dd6659ff6b83da4d49f58d1fb7d1f0ae210ff7a8de500d534018c03aa77a440178e47b9e9dc66b53afa119163810502c2d1946f2%27}_E_CONTENT_TYPE (File name too long)
	java.io.FileOutputStream.open(Native Method)
	java.io.FileOutputStream.<init>(FileOutputStream.java:221)
	com.liferay.portal.util.FileImpl.write(FileImpl.java:949)
	com.liferay.portal.util.FileImpl.write(FileImpl.java:927)
	com.liferay.portal.util.FileImpl.write(FileImpl.java:922)
	com.liferay.portal.kernel.util.FileUtil.write(FileUtil.java:425)
	com.liferay.portal.servlet.filters.aggregate.AggregateFilter.getContent(AggregateFilter.java:408)
	com.liferay.portal.servlet.filters.aggregate.AggregateFilter.processFilter(AggregateFilter.java:508)
	com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
	com.sun.proxy.$Proxy1748.doFilter(Unknown Source)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
	com.liferay.portal.servlet.filters.language.LanguageFilter.processFilter(LanguageFilter.java:84)
	com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
	com.sun.proxy.$Proxy1748.doFilter(Unknown Source)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
	com.liferay.portal.servlet.filters.gzip.GZipFilter.processFilter(GZipFilter.java:123)
	com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
	com.sun.proxy.$Proxy1748.doFilter(Unknown Source)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
	com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:421)
	com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
	com.sun.proxy.$Proxy1748.doFilter(Unknown Source)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
	com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:86)
	com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
	com.sun.proxy.$Proxy1748.doFilter(Unknown Source)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:169)
	com.liferay.portal.servlet.filters.header.HeaderFilter.processFilter(HeaderFilter.java:154)
	com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:59)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:606)
	com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67)
	com.sun.proxy.$Proxy1748.doFilter(Unknown Source)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:165)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
	com.liferay.portal.kernel.servlet.PortalClassLoaderFilter.doFilter(PortalClassLoaderFilter.java:74)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:204)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:109)
	com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96)

JBWEB000072: note JBWEB000073: The full stack trace of the root cause is available in the JBoss Web/7.2.2.Final-redhat-1 logs.

环境:

liferay 6.2

App server:jboss

每当发生500异常,即内部服务器错误时,我都会尝试显示自定义错误消息。 以下是web.xml中可用的设置

<error-page>
        <error-code>404</error-code>
        <location>/errors/code.jsp</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/errors/code.jsp</location>
    </error-page> 

我也更改了code.jsp并添加了自定义代码。只是简单的文本错误消息。但它并没有调用code.jsp而是在浏览器上打印完整的堆栈跟踪。 我打的网址是:

https://localhost/xyzportlet/js/xyz.js?browserId=firefox&minifierType=js&languageId=en_US&b=6210&t=1424361709000&fakeParam=%24{76428%2b66104%2b%27f60cec015d33e6f70fc90789dd6659ff6b83da4d49f58d1fb7d1f0ae210ff7a8de500d534018c03aa77a440178e47b9e9dc66b53afa119163810502c2d1946f2%27}

我得到的错误信息是:

JBWEB000065: HTTP Status 500 - /jboss/jboss-eap-6.1/standalone/tmp/work/jboss.web/default-host/xyz-portlet/aggregate/https_/xyz-portlet/js/xyz.jsbrowserId=firefox&minifierType=js&languageId=en_US&b=6210&t=1424361709000&fakeParam=%24{76428%2b66104%2b%27f60cec015d33e6f70fc90789dd6659ff6b83da4d49f58d1fb7d1f0ae210ff7a8de500d534018c03aa77a440178e47b9e9dc66b53afa119163810502c2d1946f2%27}_E_CONTENT_TYPE (File name too long)

如果我调用其他jsp,css或其他方法,它也不会调用js,而是提供资源未找到错误而不是500.

任何人都让我知道我缺少什么来处理500个例外

1 个答案:

答案 0 :(得分:0)

查看您发布的代码:

java.io.FileNotFoundException: /jboss/jboss-eap-6.1/standalone/tmp/work/jboss.web/default-host/empAppMgmt-portlet/aggregate/https_/empAppMgmt-portlet/js/empAppMgmt.jsbrowserId=firefox&minifierType=js&languageId=en_US&b=6210&t=1424361709000&fakeParam=%24{76428%2b66104%2b%27f60cec015d33e6f70fc90789dd6659ff6b83da4d49f58d1fb7d1f0ae210ff7a8de500d534018c03aa77a440178e47b9e9dc66b53afa119163810502c2d1946f2%27}_E_CONTENT_TYPE (File name too long)

看起来文件名太长了。我会先尝试纠正,然后再看看你是否还有问题。

你也可以试试这个:

  

1)SessionErrors.add(portletRequest,error.key)

     

2)去你的Jsp   您要在哪里显示此消息并使用此标记

     

(当然,前面带有“&lt;”符号,没有引号)

     

liferay-ui:error key =“error.key”   消息= “返回Error.message” &GT;

     

3)并在language.properties中为此密钥编写完整的消息   error.message =自定义消息

并查看This Source

我希望这会有所帮助!!