diff --git a/testsuite/integration/java8/pom.xml b/testsuite/integration/java8/pom.xml
new file mode 100644
index 000000000000..b68d9f73300a
--- /dev/null
+++ b/testsuite/integration/java8/pom.xml
@@ -0,0 +1,59 @@
+
+
+ 4.0.0
+
+
+ wildfly-ts-integ
+ org.wildfly
+ 9.0.0.Alpha2-SNAPSHOT
+
+
+ wildfly-ts-integ-java8
+ jar
+ WildFly Test Suite: Integration - Java 8
+
+
+
+ 1.8
+ 1.8
+
+
+ ${basedir}/..
+ ${jbossas.ts.integ.dir}/..
+ ${jbossas.ts.dir}/..
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+
+
+ add-java8-config
+ process-test-resources
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+
+
+
diff --git a/testsuite/integration/java8/src/test/config/arq/arquillian.xml b/testsuite/integration/java8/src/test/config/arq/arquillian.xml
new file mode 100644
index 000000000000..63cc3bff54d0
--- /dev/null
+++ b/testsuite/integration/java8/src/test/config/arq/arquillian.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+ ${basedir}/target/jbossas
+ ${server.jvm.args} -Djboss.inst=${basedir}/target/jbossas -Djboss.bind.address=${node0} -Dtest.bind.address=${node0}
+ ${jboss.server.config.file.name:standalone-java8.xml}
+ ${jboss.args}
+
+ true
+ ${node0:127.0.0.1}
+ ${as.managementPort:9990}
+
+
+ ${as.debug.port:8787} ${as.managementPort:9990}
+ 8
+
+
+
+
diff --git a/testsuite/integration/java8/src/test/java/org/wildfly/test/integration/jsp/AnswerToEverythingComputation.java b/testsuite/integration/java8/src/test/java/org/wildfly/test/integration/jsp/AnswerToEverythingComputation.java
new file mode 100644
index 000000000000..2634fc773107
--- /dev/null
+++ b/testsuite/integration/java8/src/test/java/org/wildfly/test/integration/jsp/AnswerToEverythingComputation.java
@@ -0,0 +1,9 @@
+package org.wildfly.test.integration.jsp;
+
+/**
+ * @author Tomaz Cerar (c) 2015 Red Hat Inc.
+ */
+@FunctionalInterface
+public interface AnswerToEverythingComputation {
+ int compute();
+}
diff --git a/testsuite/integration/java8/src/test/java/org/wildfly/test/integration/jsp/JspCompilerTestCase.java b/testsuite/integration/java8/src/test/java/org/wildfly/test/integration/jsp/JspCompilerTestCase.java
new file mode 100644
index 000000000000..d8fb97334813
--- /dev/null
+++ b/testsuite/integration/java8/src/test/java/org/wildfly/test/integration/jsp/JspCompilerTestCase.java
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2014, Red Hat, Inc., and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.wildfly.test.integration.jsp;
+
+import java.net.URL;
+import java.util.concurrent.TimeUnit;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.as.test.integration.common.HttpRequest;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * See WFLY-2690
+ */
+@RunWith(Arquillian.class)
+@RunAsClient
+public class JspCompilerTestCase {
+
+ private static final StringAsset WEB_XML = new StringAsset(
+ "\n" +
+ "\n" +
+ "");
+
+
+
+ @Deployment
+ public static WebArchive deploy() {
+ return ShrinkWrap.create(WebArchive.class)
+ .addAsWebInfResource(WEB_XML, "web.xml")
+ .addClasses(AnswerToEverythingComputation.class)
+ .addAsWebResource(JspCompilerTestCase.class.getResource("jsp-with-lambdas.jsp"), "index.jsp");
+
+ }
+
+ @Test
+ public void test(@ArquillianResource URL url) throws Exception {
+ HttpRequest.get(url + "index.jsp", 10, TimeUnit.SECONDS);
+ }
+}
diff --git a/testsuite/integration/java8/src/test/resources/logging.properties b/testsuite/integration/java8/src/test/resources/logging.properties
new file mode 100644
index 000000000000..0409ea5ca7d8
--- /dev/null
+++ b/testsuite/integration/java8/src/test/resources/logging.properties
@@ -0,0 +1,52 @@
+#
+# JBoss, Home of Professional Open Source.
+# Copyright 2010, Red Hat, Inc., and individual contributors
+# as indicated by the @author tags. See the copyright.txt file in the
+# distribution for a full listing of individual contributors.
+#
+# This is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of
+# the License, or (at your option) any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this software; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+#
+
+# Additional logger names to configure (root logger is always configured)
+loggers=sun.rmi,org.jboss.shrinkwrap
+logger.org.jboss.shrinkwrap.level=INFO
+logger.sun.rmi.level=WARNING
+
+# Root logger level
+logger.level=DEBUG
+
+# Root logger handlers
+logger.handlers=FILE, CONSOLE
+
+# Console handler configuration
+handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
+handler.CONSOLE.properties=autoFlush
+handler.CONSOLE.level=INFO
+handler.CONSOLE.autoFlush=true
+handler.CONSOLE.formatter=PATTERN
+
+# File handler configuration
+handler.FILE=org.jboss.logmanager.handlers.FileHandler
+handler.FILE.level=DEBUG
+handler.FILE.properties=autoFlush,fileName
+handler.FILE.autoFlush=true
+handler.FILE.fileName=./target/test.log
+handler.FILE.formatter=PATTERN
+
+# Formatter pattern configuration
+formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter
+formatter.PATTERN.properties=pattern
+formatter.PATTERN.pattern=%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n
diff --git a/testsuite/integration/java8/src/test/resources/org/wildfly/test/integration/jsp/jsp-with-lambdas.jsp b/testsuite/integration/java8/src/test/resources/org/wildfly/test/integration/jsp/jsp-with-lambdas.jsp
new file mode 100644
index 000000000000..f45872ccabab
--- /dev/null
+++ b/testsuite/integration/java8/src/test/resources/org/wildfly/test/integration/jsp/jsp-with-lambdas.jsp
@@ -0,0 +1,11 @@
+<%@ page import="java.io.IOException" %>
+<%@ page import="org.wildfly.test.integration.jsp.AnswerToEverythingComputation" %>
+
+
+<%
+ try {
+ response.getWriter().write("Answer to everything is: " + ((AnswerToEverythingComputation) () -> 42).compute());
+ } catch (IOException ex) {
+ throw new RuntimeException(ex);
+ }
+%>
diff --git a/testsuite/integration/java8/src/test/resources/standalone-java8.xml b/testsuite/integration/java8/src/test/resources/standalone-java8.xml
new file mode 100644
index 000000000000..d5cdcc16b385
--- /dev/null
+++ b/testsuite/integration/java8/src/test/resources/standalone-java8.xml
@@ -0,0 +1,404 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
+ h2
+
+ sa
+ sa
+
+
+
+
+ org.h2.jdbcx.JdbcDataSource
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${jboss.bind.address:127.0.0.1}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index b56086e995bb..aa7b6d92d7c6 100644
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -181,6 +181,16 @@
picketlink
+
+
+ ts.integ.group.java8
+
+ 1.8
+
+
+ java8
+
+