Java 无法将lambda表达式强制转换为事件处理程序

Java 无法将lambda表达式强制转换为事件处理程序,java,lambda,wildfly,Java,Lambda,Wildfly,我在WildFly 10.0.0.CR5容器中运行了一个servlet。我正在向servlet发送一个包含SOAPMessage的POST请求,该请求在servlet中得到验证: private void unmarshalXmlMsg(final Node node, final JAXBContext jaxbContext, final URL resourceUrl) { try { SchemaFactory schemaFactory = SchemaFact

我在WildFly 10.0.0.CR5容器中运行了一个servlet。我正在向servlet发送一个包含
SOAPMessage
的POST请求,该请求在servlet中得到验证:

private void unmarshalXmlMsg(final Node node, final JAXBContext jaxbContext, final URL resourceUrl) {
    try {
        SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
        Schema schema = schemaFactory.newSchema(resourceUrl);
        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
        unmarshaller.setSchema(schema);
        unmarshaller.setEventHandler(e -> false);

        Object unmarshalledObj;
        String localName = node.getLocalName();
        String classpath = CLASS_MAP.get(localName);
        if (classpath == null) {
            unmarshalledObj = unmarshaller.unmarshal(node);
        } else {
            unmarshalledObj = unmarshaller.unmarshal(node, Class.forName(classpath));
        }

        if (unmarshalledObj instanceof JAXBElement<?>) {
            routeMessage((JAXBElement<?>) unmarshalledObj);
        }
    } catch (JAXBException | SAXException | ClassNotFoundException e) {
        logger.error("Error unmarshalling xml from body of soapMessage", e);
    }
}
将其更改为以下可修复错误,其他所有操作都会正常执行:

unmarshaller.setEventHandler(new ValidationEventHandler() {
    @Override
    public boolean handleEvent(ValidationEvent arg0) {
        return false;
    }
});
我知道在这种情况下,
e->false
是有效的,但我不确定为什么它在WildFly容器中不起作用。提前感谢您的帮助

编辑:我还应注意,上述
异常是由以下原因引起的:

java.lang.BootstrapMethodError: call site initialization exception

编辑:我还检查了
java-version
javac-version
,两者都是1.8.0。我尝试创建一个
解组器
,并在将事件处理程序发送到servlet之前,在客户端代码中以相同的方式设置事件处理程序,效果很好。这让我相信这是WildFly内部的一个问题……但我不知道从这里该怎么办。请帮忙

您好,我认为ValidationEventHandler和Unmarshaller无法接受函数接口\λ表达式。我试图了解一下jar api和具体实现。jaxb-2.2.x

为什么不接受lambda表达式?该方法接受一个
验证venthandler
,这是一个功能接口,对吗?你能链接到一些能说明你为什么不这么想的东西吗?
java.lang.BootstrapMethodError: call site initialization exception