-
15. Re: CapeDwarf and WildFly
alesj Nov 24, 2013 3:22 AM (in response to mgreau)Or you just run capedwarf.sh or capedwarf.bat on Winz.
-
16. Re: CapeDwarf and WildFly
alesj Dec 19, 2013 8:19 AM (in response to alesj)New CD+WF snapshot:
* https://drive.google.com/file/d/0B9h6GvX0YLBvakV3MlRZRmhWaXM/edit?usp=sharing
-
-
18. Re: CapeDwarf and WildFly
mgreau Jan 5, 2014 4:09 PM (in response to alesj)Hi,
I've updated my booking app demo [1] to make it work with CapeDwarf-WildFly 2.0-Beta1 and AppEngine 1.1.8 [2]
Indeed, you just have to launch the maven command associated to the target app server :
- mvn clean package -Pwildfly wildfly:deploy (CapeDwarf instance need to be started, app is deployed as ROOT.war)
- mvn clean package appengine:devserver
Then you can access to the URLs below :
- http://localhost:8080 => in order to test Datastore API (Objectify), Blobstore API, GCS API, TaskQueue API, Search API and Endpoints API
- http://localhost:8080/_ah/admin => administration console
FYI, even if it works on CapeDwarf, it's not possible to deploy on GAE an app with an empty <url-pattern></url-pattern> element in web.xml file.
I tried to deploy this app on OpenShift with a DIY cartridge, but it doesn't work for now, I will create an other topic about that.
-
19. Re: CapeDwarf and WildFly
alesj Jan 6, 2014 4:53 AM (in response to mgreau)FYI, even if it works on CapeDwarf, it's not possible to deploy on GAE an app with an empty <url-pattern></url-pattern> element in web.xml file.
We just follow the servlet spec, and so does GAE.
Or why would you wanna do that?
-
20. Re: CapeDwarf and WildFly
mgreau Jan 6, 2014 6:13 PM (in response to alesj)Sorry, the case was not well explained.
So, with the same <servlet-mapping> configuration in web.xml file, I haven't the same behavior with AppEngine or CapeDwarf (WildFly so Undertow I guess).
Indeed, here are the tests I've done :
1) Default Servlet Mapping AND index.jsp defined as welcome-file OR no welcome-file element but WEB-INF/index.jsp file
<web-app>
....
<servlet-mapping>
<servlet-name>BookingServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
...
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
=> CapeDwarf : index.jsp kicks-in before default servlet
=> AppEngine : default servlet is called (not index.jsp)
2) empty <url-pattern> AND index.jsp defined as welcome-file OR no welcome-file element but WEB-INF/index.jsp file
<web-app>
....
<servlet-mapping>
<servlet-name>BookingServlet</servlet-name>
<url-pattern></url-pattern>
</servlet-mapping>
...
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
=> CapeDwarf : BookingServlet is called
=> AppEngine : deployment failed : "[INFO] com.google.apphosting.utils.config.AppEngineConfigException: Invalid configuration"
According to the web-common-X.xsd [1], the servlet-mappingType is defined like this :
<xsd:complexType name="servlet-mappingType">
<xsd:annotation>
...
</xsd:annotation>
<xsd:sequence>
<xsd:element name="servlet-name"
type="javaee:servlet-nameType"/>
<xsd:element name="url-pattern"
type="javaee:url-patternType"
minOccurs="1"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
and the javaee_6.xsd define the url-patternType :
<xsd:complexType name="url-patternType">
<xsd:annotation>
...
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
so an empty <url-pattern> element should be accepted [2]
The JSR-315 Java Servlet 3.0 [3] explains in the Chapter 12 : Mappings Requests to Servlets
- the URL path mapping rules ($12.1 use of URL Path)
- and the syntax to define mappings ($12.2 Specification of Mappings)
So it seems that Undertow follows all this features but as GAE doesn't yet support Servlet 3.0 [4], if I want to have the same behavior with both app servers with the same web.xml file, I think I have to either :
- define <url-pattern>/</url-pattern> and no <welcome-file> element, neither index.jsp file
- OR use the sendRedirect method in the index.jsp file
That's was my point
Regards.
[1] http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html
[2] http://www.w3.org/TR/xmlschema-2/#string
[3] https://jcp.org/en/jsr/detail?id=315
[4] https://code.google.com/p/googleappengine/issues/detail?id=3091
-
21. Re: CapeDwarf and WildFly
ctomc Jan 7, 2014 8:40 AM (in response to mgreau)Btw, you should be looking at EE7 spec & XSDs
As WildFly support EE7, and undertow implements servlet 3.1.
In any case your investigation is still valid Servlet 3.1
-
22. Re: CapeDwarf and WildFly
alesj Jan 7, 2014 10:26 AM (in response to ctomc)And GAE is still on 2.5 spec, only now moving over to new 3.x.
-
23. Re: CapeDwarf and WildFly
mgreau Jan 8, 2014 5:27 AM (in response to ctomc)Tomaz Cerar a écrit:
Btw, you should be looking at EE7 spec & XSDs
As WildFly support EE7, and undertow implements servlet 3.1.
Yes, I'm aware about that [1]
Tomaz Cerar a écrit:
In any case your investigation is still valid Servlet 3.1
In fact, since I didn't find new features about that in the change log "Changes since Servlet 3.0", I preferred to base my analysis on 3.0
[1] http://mgreau.com/posts/2013/11/11/javaee7-websocket-angularjs-wildfly.html