GlassFish 4错误:致命:致命:JSF1073:javax.el.E​​LException

时间:2014-05-07 17:40:51

标签: java glassfish-4 java-ee-7

我正在尝试使用Java EE 7,我已经构建了一个示例应用程序,可以在https://github.com/kenparker/moviplex7.git找到。

在此过程中,我了解到主要是因为GlassFish 4安装问题导致工作有多困难。

当前错误日志如下:

WARNING:   JSF1063: WARNUNG! Der nicht serialisierbare Attributswert wird in HttpSession festgelegt (Schlüssel: 7b6d8a31fe1f98a383c3673cc569:0_flowStack, Wertklasse: com.sun.faces.flow.FlowHandlerImpl$FlowDeque).
FATAL:   JSF1073: javax.el.ELException erfasst während Verarbeitung von RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=/client/movies.xhtml @17,78 items="#{movieClientBean.movies}": javax.ws.rs.ProcessingException: java.net.MalformedURLException: Stream handler unavailable due to: For input string: "0:0:0:0:0:0:1:8080"
FATAL:   /client/movies.xhtml @17,78 items="#{movieClientBean.movies}": javax.ws.rs.ProcessingException: java.net.MalformedURLException: Stream handler unavailable due to: For input string: "0:0:0:0:0:0:1:8080"
javax.el.ELException: /client/movies.xhtml @17,78 items="#{movieClientBean.movies}": javax.ws.rs.ProcessingException: java.net.MalformedURLException: Stream handler unavailable due to: For input string: "0:0:0:0:0:0:1:8080"
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114)
    at com.sun.faces.facelets.tag.jstl.core.ForEachHandler.apply(ForEachHandler.java:161)
    at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
    at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
    at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:190)

奇怪的是,我没有在Mac Book上运行相同的应用程序时遇到这个问题,所以我的桌面上的GlassFish 4安装与Mac Book上的安装之间必然存在一些差异。

两者似乎都在" GlassFish Server开源版4.0(版本89)"

"更新工具"没有显示开放更新。

如何找出两个安装之间的差异?

我也在网上搜索并发现了这个链接。 https://java.net/jira/browse/JAVASERVERFACES-3084?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aworklog-tabpanel

我真的不明白是什么解决方案。

任何想法我如何着手解决问题?

1 个答案:

答案 0 :(得分:3)

问题与GlassFish无关。

Stream handler unavailable due to: For input string: "0:0:0:0:0:0:1:8080"

错误消息的这一部分显示某些内容正在尝试使用 IPv6 地址。我想类javax.ws.rs.client.ClientBuilder无法正确处理。

如果您在台式计算机上启用了双栈网络(IPv4和IPv6),则httpServletRequest.getLocalName()似乎首先返回 IPv6 地址(0:0:0:0:0:0:1)。< / p>

可能有一个解决方案如何在您的操作系统中更改该行为,但还有另一种获取IP的方法:

httpServletRequest.getServerName()

FacesContext.getCurrentInstance().getExternalContext().getRequestServerName()

httpServletRequest.getLocalName() init()方法中使用{而不是MovieClientBean。它应该以IPv4格式返回地址并使其工作。

另见: