Hi Jon,
Thank you, too, for the warm welcome.
On 11/22/2018 8:50 PM, Jonathan Gallimore wrote:
Hi Ferdi!
Thank for posting, and welcome! I see a few folks on here have already
replied, that is fantastic. If you're a total newcomer to TomEE, its worth
grabbing the distributions and trying to get some existing applications you
have used on WildFly deployed. We don't support the modules system that
WildFly has (or had last time I used it), but you should be able to deploy
a .war or .ear by deploying it in the webapps directory. We do have some
(old) support for reading JBoss deployment descriptors - I don't know how
that stacks up with recent changes in WildFly.
When I was learning Java EE 7/8 through WildFly, I was only
strengthening my understanding in recent Java EE API.
You see, in my country, it is more common [and based on job openings,
too] to use Spring for server programming in Java.
I came from an old .NET background [2.0] and I want to grasp what is
going on with Java EE recently, and also its viability in an enterprise
setting from the perspective of an average programmer here. This is in
contrast with what the mainstream IT trend has in here.
So, when I learn, I actually used only the API to get CDI, Bean
Validation, JPA, EJB [for container-managed transactions, still don't
really get how it works btw], and not much of the front-end stuff like
JSF, except JAX-RS.
In turn, I didn't use (or avoided) any feature that would require me to
refer to a WildFly specific configuration. Thus, my .war is typically
small and only works as PoC for the concepts of each API I'm interested in.
Should you run into questions or problems, please just ask. If you don't
find the answer in the docs, we probably have a documentation gap you can
help fill. If something should work and doesn't, that may be a bug that
needs fixing, and it would be awesome to have your help with that. Feedback
you have on things like logs would also be welcome, and could provide some
really useful changes.
Other help we could use:
* The build. Something is failing:
https://ci.apache.org/builders/tomee-trunk-ubuntu-jvm8. Digging into issues
there and helping fix tests is always helpful. Starting to build with Java
11 is something Otavio Santana started, and I played around with a bit on
my GitHub fork if you wanted to try that:
https://github.com/jgallimore/tomee/tree/j11
* Documentation / Website: We can always use help with this. Ivan (who has
already replied to you) did a great video on this:
https://www.youtube.com/watch?v=P6IM0LDevVU
* Examples: We added MicroProfile recently; there is some work underway to
add examples for MicroProfile on TomEE.
I'd like to take on Documentations, probably, after getting hang on the
product itself. And after finishing the early tasks, too.
In terms of some things to take a look at in the code - not necessarily to
fix, but if you're looking for some understanding (I'll be brief, and won't
cover everything, but hopefully give you enough so you can start looking
around and ask questions):
(in openejb-core)
1. ConfigurationFactory - this gathers up all the information relating to
the application to deploy, reads descriptors and annotations etc. This gets
passed onto the Assembler.
2. Assembler - this does the heavy lifting of actually creating the
application, and instantiating all the resources that the application needs
3. Resources - these are Java objects that are instantiated by using a
recipe, using attributes specified in tomee.xml. One trick is that you
don't need to define every property - there are defaults. In fact, if your
app needs a database, or a JMS connection, and you don't specify one, TomEE
"magically" creates one. The defaults for these come from service-jar.xml.
Have a look through those, there are some good comments in there. If you
search for where that service-jar.xml file is loaded, you can probably then
look through the call stack to see exactly how/when it is loaded and used
to create resources.
If the above sounds like nonsense, let us know, that's a sign that we need
to document it some more, and we could certainly work on that together to
increase your knowledge so you can work with the code.
It does, now. Understanding takes time. I'm sure it will. Just that I'm
really curious about things, I might ask things like a five years old kid.
I hope this helps! Thanks again for posting, and welcome to the community!
Jon
Thank you again. I hope I can contribute to the best of my abilities here.