You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Ferdi <de...@ferdi.id> on 2018/11/22 03:29:17 UTC

Just Joined - Introduction

Hi, I'm Ferdi. I live in UTC+8. Currently work as UI tester in a 
consulting company.

I recently learned Java EE 7 and have been playing with WildFly 14.
The knowledge I have for Java is limited, but I know my way around the 
IDE and Maven, and would like to contribute to TomEE.

I hope this is thorough enough for an introduction.
Thank you.

Re: Just Joined - Introduction

Posted by Ivan Junckes Filho <iv...@gmail.com>.
There is a MicroProfile specification that you can read if you would like
to assert the payload.

Microprofile Metrics Project
https://github.com/eclipse/microprofile-metrics/

Microprofile Metrics Specification
https://github.com/eclipse/microprofile-metrics/releases/download/1.1.1/metrics_spec-1.1.1.html

Also, you can check the Technology Compatibility Kit (TCK), which does a
lot of tests to assert the payload.
https://github.com/apache/tomee/tree/master/tck/microprofile-tck/metrics

To execute the TCK go to the folder I pasted* tck/microprofile-tck-metrics *and
execute:
*mvn clean install*

If it builds successfully it means the payload is correct. The TCK should
be reliable to see if we broke something today :)


On Thu, Nov 22, 2018 at 2:20 PM dev <de...@ferdi.id> wrote:

> Hi Ivan,What i meant was how do I know what the correct output is.I did
> use Postman, that was how i got that long JSON. My problem now, how can I
> know the supposed output of the feature I'm working on? In the test, the
> output has to be asserted, so, I'm going to need that for assertion
> needs. Is there a JSR to read related to this annotation? I mean, i know
> there is, that's the spec itself, but I've never read JSR either, so.Von
> meinem Samsung Galaxy Smartphone gesendet.
> -------- Ursprüngliche Nachricht --------Von: Ivan Junckes Filho <
> ivanjunckes@gmail.com> Datum: 23.11.18  00:06  (GMT+08:00) An:
> dev@tomee.apache.org Betreff: Re: Just Joined - Introduction Hi Ferdi,
> nice to see you are already working on it.If you use a tool like *curl <
> https://curl.haxx.se/>* you can execute: curl -X
> OPTIONShttp://localhost:8080/mp-metrics-metered/metrics/application/<metric-name>Replace
> <metric-name> with the name you set for @Metered.For GET would be: curl -X
> GET http://localhost:8080/mp-metrics-metered/metrics/application/<metric-name>*curl*
> is just a tool, you could use *Postman <https://www.getpostman.com/>*if
> you like too.The link I added to the ticket is a "Getting Started with
> MicroProfileMetrics" tutorial / blog post, just to help you understand how
> it works.So, not specifically related to the task itself. It was more to
> give you anoverview of the specification itself.Feel free to share a
> branch, or a Working In Progress PR if you would likewith more
> questions.Hope it helps!

Re: Just Joined - Introduction

Posted by dev <de...@ferdi.id>.
Hi Ivan,What i meant was how do I know what the correct output is.I did use Postman, that was how i got that long JSON. My problem now, how can I know the supposed output of the feature I'm working on? In the test, the output has to be asserted, so, I'm going to need that for assertion needs. Is there a JSR to read related to this annotation? I mean, i know there is, that's the spec itself, but I've never read JSR either, so.Von meinem Samsung Galaxy Smartphone gesendet.
-------- Ursprüngliche Nachricht --------Von: Ivan Junckes Filho <iv...@gmail.com> Datum: 23.11.18  00:06  (GMT+08:00) An: dev@tomee.apache.org Betreff: Re: Just Joined - Introduction Hi Ferdi, nice to see you are already working on it.If you use a tool like *curl <https://curl.haxx.se/>* you can execute: curl -X OPTIONShttp://localhost:8080/mp-metrics-metered/metrics/application/<metric-name>Replace <metric-name> with the name you set for @Metered.For GET would be: curl -X GET http://localhost:8080/mp-metrics-metered/metrics/application/<metric-name>*curl* is just a tool, you could use *Postman <https://www.getpostman.com/>*if you like too.The link I added to the ticket is a "Getting Started with MicroProfileMetrics" tutorial / blog post, just to help you understand how it works.So, not specifically related to the task itself. It was more to give you anoverview of the specification itself.Feel free to share a branch, or a Working In Progress PR if you would likewith more questions.Hope it helps!

Re: Just Joined - Introduction

Posted by Ivan Junckes Filho <iv...@gmail.com>.
Hi Ferdi, nice to see you are already working on it.

If you use a tool like *curl <https://curl.haxx.se/>* you can execute:
 curl -X OPTIONS
http://localhost:8080/mp-metrics-metered/metrics/application/<metric-name>

Replace <metric-name> with the name you set for @Metered.

For GET would be:
 curl -X GET http://localhost:8080/mp-metrics-metered/metrics/application/
<metric-name>

*curl* is just a tool, you could use *Postman <https://www.getpostman.com/>*
if you like too.

The link I added to the ticket is a "Getting Started with MicroProfile
Metrics" tutorial / blog post, just to help you understand how it works.
So, not specifically related to the task itself. It was more to give you an
overview of the specification itself.

Feel free to share a branch, or a Working In Progress PR if you would like
with more questions.

Hope it helps!



On Thu, Nov 22, 2018 at 12:53 PM Ferdi <de...@ferdi.id> wrote:

> Yeah, Hi Ivan, thanks for the nudge on Twitter, by the way.
>
> I've got the files and now are trying it.
>
> Since this is the first issue, I'd use this thread instead for the
> questions, is that alright?
>
> The question:
> Where can I find the full output example for the @Metered annotation,
> for both GET and OPTIONS?
>
> I've got this output:
>
> {
>      "dailyStatus": {
>          "oneMinuteRate": 3.333333333333333e-12,
>          "rate15": {
>              "alpha": 0.7134952031398099,
>              "initialized": true,
>              "interval": 300000000000,
>              "updates": {},
>              "value": 3.333333333333333e-12
>          },
>          "rate5": {
>              "alpha": 0.34075936979955623,
>              "initialized": true,
>              "interval": 300000000000,
>              "updates": {},
>              "value": 3.333333333333333e-12
>          },
>          "unit": "minutes",
>          "fifteenMinuteRate": 3.333333333333333e-12,
>          "rate1": {
>              "alpha": 0.07995558537067671,
>              "initialized": true,
>              "interval": 300000000000,
>              "updates": {},
>              "value": 3.333333333333333e-12
>          },
>          "fiveMinuteRate": 3.333333333333333e-12,
>          "meanRate": 0,
>          "lastUpdate": {
>              "andDecrement": 5142428994085380,
>              "opaque": 5142428994085379,
>              "andIncrement": 5142428994085379,
>              "plain": 5142428994085380,
>              "value": 5142428994085380,
>              "acquire": 5142428994085380
>          },
>          "count": 2,
>          "initNs": 5142119118305163
>      }
> }
>
> and a little bit confused since this link
> <https://www.tomitribe.com/blog/getting-started-with-microprofile-metrics/>
>
> only give me:
>
> "itemsSold":{
>     "count":2,
>     "meanRate":0.06512797383709411,
>     "oneMinRate":0.02942507589548365,
>     "fiveMinRate":0.0065021413358446346,
>     "fifteenMinRate":0.0022037834843897696
> }
>
> On 11/22/2018 7:57 PM, Ivan Junckes Filho wrote:
> > Another thing I forgot to say. During this process of creating the
> example
> > you might find a bug, I did it creating the @Gauge example. The MP
> release
> > is still not final, so it might happen.
> >
> > If you find it, it will be a great way to start fixing a bug.
> >
> > On Thu, Nov 22, 2018 at 9:42 AM Ivan Junckes Filho <
> ivanjunckes@gmail.com>
> > wrote:
> >
> >> Hi Ferdi, I am glad you made it here!
> >>
> >> I know you would like to fix a bug in TomEE, but I would like to suggest
> >> that you start with an example.
> >>
> >> It will help you navigate the code and learn more about it before going
> >> into deeper areas.
> >>
> >> I created a JIRA ticket for you, it has a lot of information on how you
> >> can do your first contribution.
> >> https://issues.apache.org/jira/browse/TOMEE-2284
> >>
> >> We use github, I also added the links in the ticket. It is just the
> >> standard pull request approach. I suggest that you do this:
> >>
> >> 1 - Submit a PR
> >> 2 - Send an email to the list asking someone to review it
> >> 3 - If approved it will be merged by a commiter
> >>
> >> Intellij, maven 3.5 and git are OK. You just need to change to JDK 1.8,
> we
> >> are working on newer versions but this is still the stable one.
> >>
> >> Does this task work for you?
> >>
> >> If you have questions let us know, there are no silly questions, really!
>
>

Re: Just Joined - Introduction

Posted by Ferdi <de...@ferdi.id>.
Yeah, Hi Ivan, thanks for the nudge on Twitter, by the way.

I've got the files and now are trying it.

Since this is the first issue, I'd use this thread instead for the 
questions, is that alright?

The question:
Where can I find the full output example for the @Metered annotation, 
for both GET and OPTIONS?

I've got this output:

{
     "dailyStatus": {
         "oneMinuteRate": 3.333333333333333e-12,
         "rate15": {
             "alpha": 0.7134952031398099,
             "initialized": true,
             "interval": 300000000000,
             "updates": {},
             "value": 3.333333333333333e-12
         },
         "rate5": {
             "alpha": 0.34075936979955623,
             "initialized": true,
             "interval": 300000000000,
             "updates": {},
             "value": 3.333333333333333e-12
         },
         "unit": "minutes",
         "fifteenMinuteRate": 3.333333333333333e-12,
         "rate1": {
             "alpha": 0.07995558537067671,
             "initialized": true,
             "interval": 300000000000,
             "updates": {},
             "value": 3.333333333333333e-12
         },
         "fiveMinuteRate": 3.333333333333333e-12,
         "meanRate": 0,
         "lastUpdate": {
             "andDecrement": 5142428994085380,
             "opaque": 5142428994085379,
             "andIncrement": 5142428994085379,
             "plain": 5142428994085380,
             "value": 5142428994085380,
             "acquire": 5142428994085380
         },
         "count": 2,
         "initNs": 5142119118305163
     }
}

and a little bit confused since this link 
<https://www.tomitribe.com/blog/getting-started-with-microprofile-metrics/> 
only give me:

"itemsSold":{
    "count":2,
    "meanRate":0.06512797383709411,
    "oneMinRate":0.02942507589548365,
    "fiveMinRate":0.0065021413358446346,
    "fifteenMinRate":0.0022037834843897696
}

On 11/22/2018 7:57 PM, Ivan Junckes Filho wrote:
> Another thing I forgot to say. During this process of creating the example
> you might find a bug, I did it creating the @Gauge example. The MP release
> is still not final, so it might happen.
> 
> If you find it, it will be a great way to start fixing a bug.
> 
> On Thu, Nov 22, 2018 at 9:42 AM Ivan Junckes Filho <iv...@gmail.com>
> wrote:
> 
>> Hi Ferdi, I am glad you made it here!
>>
>> I know you would like to fix a bug in TomEE, but I would like to suggest
>> that you start with an example.
>>
>> It will help you navigate the code and learn more about it before going
>> into deeper areas.
>>
>> I created a JIRA ticket for you, it has a lot of information on how you
>> can do your first contribution.
>> https://issues.apache.org/jira/browse/TOMEE-2284
>>
>> We use github, I also added the links in the ticket. It is just the
>> standard pull request approach. I suggest that you do this:
>>
>> 1 - Submit a PR
>> 2 - Send an email to the list asking someone to review it
>> 3 - If approved it will be merged by a commiter
>>
>> Intellij, maven 3.5 and git are OK. You just need to change to JDK 1.8, we
>> are working on newer versions but this is still the stable one.
>>
>> Does this task work for you?
>>
>> If you have questions let us know, there are no silly questions, really!


Re: Just Joined - Introduction

Posted by Ivan Junckes Filho <iv...@gmail.com>.
Another thing I forgot to say. During this process of creating the example
you might find a bug, I did it creating the @Gauge example. The MP release
is still not final, so it might happen.

If you find it, it will be a great way to start fixing a bug.

On Thu, Nov 22, 2018 at 9:42 AM Ivan Junckes Filho <iv...@gmail.com>
wrote:

> Hi Ferdi, I am glad you made it here!
>
> I know you would like to fix a bug in TomEE, but I would like to suggest
> that you start with an example.
>
> It will help you navigate the code and learn more about it before going
> into deeper areas.
>
> I created a JIRA ticket for you, it has a lot of information on how you
> can do your first contribution.
> https://issues.apache.org/jira/browse/TOMEE-2284
>
> We use github, I also added the links in the ticket. It is just the
> standard pull request approach. I suggest that you do this:
>
> 1 - Submit a PR
> 2 - Send an email to the list asking someone to review it
> 3 - If approved it will be merged by a commiter
>
> Intellij, maven 3.5 and git are OK. You just need to change to JDK 1.8, we
> are working on newer versions but this is still the stable one.
>
> Does this task work for you?
>
> If you have questions let us know, there are no silly questions, really!
>
>
>
>
> On Thu, Nov 22, 2018 at 8:38 AM Ferdi <de...@ferdi.id> wrote:
>
>> Hi Jean-Louis,
>>
>> Could you point me to the 'examples' approach you've mentioned?
>>
>> Generally I'd like to fix things up, but I'm also interested in knowing
>> how actually the specifications (from JSR documents and/or MicroProfile
>> specs) are implemented. I mean, I know how to build Java apps, classes,
>> interfaces and whatnot, so, probably a pointer on how TomEE is
>> implemented would be great. Maybe someday I could also contribute to
>> Jakarta EE/MicroProfile specs as well. :)
>>
>> If you feel that what I want is way too great for my current level of
>> knowledge, I'm happy, too, with starting small bug fix.
>>
>> Also probably this. I don't see (or fail miserably during search) guide
>> about how to set up development environment and how to deliver patch
>> (are we using that or just PR in GitHub?), and mechanism to review the
>> work. So if there are references about this so I could learn myself,
>> that would be great as well.
>>
>> For tool reference, I have in my computer now all three IDEs, JDK10
>> (from Oracle if I'm not mistaken), Maven 3.5, IntelliJ Ultimate (this
>> years release, I think), and git for Windows. I have a laptop, with
>> Fedora instead, git from repo, JDK10 too from Oracle, and IntelliJ
>> Ultimate. If there is requirement to switch to another tools (probably
>> for cohesion reason), I'd be happy to.
>>
>> Thank you.
>>
>> On 11/22/2018 5:49 PM, Jean-Louis Monteiro wrote:
>> > Hi Ferdi,
>> >
>> > Welcome and thank you for the message.
>> >
>> > It's always great to see new people around.
>> > What would you like to work on?
>> >
>> >  From what I can see, I would probably suggest the examples approach.
>> This
>> > is usually a perfect way to get into TomEE, learn how it works.
>> > Eventually, you get into some bugs or improvements you can contribute in
>> > addition to the examples.
>> >
>> > Also if you are learning still, that is a perfect way to learn more and
>> > improve your skills.
>> > Otherwise, you can look after the JIRA project and see if you see some
>> > tickets you would like to work on.
>> >
>> > Definitely let us know what you would like to do and we'll drive you
>> > through the way to do it.
>> >
>> > Jean-Louis
>>
>>

Re: Just Joined - Introduction

Posted by Ivan Junckes Filho <iv...@gmail.com>.
Hi Ferdi, I am glad you made it here!

I know you would like to fix a bug in TomEE, but I would like to suggest
that you start with an example.

It will help you navigate the code and learn more about it before going
into deeper areas.

I created a JIRA ticket for you, it has a lot of information on how you can
do your first contribution.
https://issues.apache.org/jira/browse/TOMEE-2284

We use github, I also added the links in the ticket. It is just the
standard pull request approach. I suggest that you do this:

1 - Submit a PR
2 - Send an email to the list asking someone to review it
3 - If approved it will be merged by a commiter

Intellij, maven 3.5 and git are OK. You just need to change to JDK 1.8, we
are working on newer versions but this is still the stable one.

Does this task work for you?

If you have questions let us know, there are no silly questions, really!




On Thu, Nov 22, 2018 at 8:38 AM Ferdi <de...@ferdi.id> wrote:

> Hi Jean-Louis,
>
> Could you point me to the 'examples' approach you've mentioned?
>
> Generally I'd like to fix things up, but I'm also interested in knowing
> how actually the specifications (from JSR documents and/or MicroProfile
> specs) are implemented. I mean, I know how to build Java apps, classes,
> interfaces and whatnot, so, probably a pointer on how TomEE is
> implemented would be great. Maybe someday I could also contribute to
> Jakarta EE/MicroProfile specs as well. :)
>
> If you feel that what I want is way too great for my current level of
> knowledge, I'm happy, too, with starting small bug fix.
>
> Also probably this. I don't see (or fail miserably during search) guide
> about how to set up development environment and how to deliver patch
> (are we using that or just PR in GitHub?), and mechanism to review the
> work. So if there are references about this so I could learn myself,
> that would be great as well.
>
> For tool reference, I have in my computer now all three IDEs, JDK10
> (from Oracle if I'm not mistaken), Maven 3.5, IntelliJ Ultimate (this
> years release, I think), and git for Windows. I have a laptop, with
> Fedora instead, git from repo, JDK10 too from Oracle, and IntelliJ
> Ultimate. If there is requirement to switch to another tools (probably
> for cohesion reason), I'd be happy to.
>
> Thank you.
>
> On 11/22/2018 5:49 PM, Jean-Louis Monteiro wrote:
> > Hi Ferdi,
> >
> > Welcome and thank you for the message.
> >
> > It's always great to see new people around.
> > What would you like to work on?
> >
> >  From what I can see, I would probably suggest the examples approach.
> This
> > is usually a perfect way to get into TomEE, learn how it works.
> > Eventually, you get into some bugs or improvements you can contribute in
> > addition to the examples.
> >
> > Also if you are learning still, that is a perfect way to learn more and
> > improve your skills.
> > Otherwise, you can look after the JIRA project and see if you see some
> > tickets you would like to work on.
> >
> > Definitely let us know what you would like to do and we'll drive you
> > through the way to do it.
> >
> > Jean-Louis
>
>

Re: Just Joined - Introduction

Posted by Ferdi <de...@ferdi.id>.
Hi Jean-Louis,

Could you point me to the 'examples' approach you've mentioned?

Generally I'd like to fix things up, but I'm also interested in knowing 
how actually the specifications (from JSR documents and/or MicroProfile 
specs) are implemented. I mean, I know how to build Java apps, classes, 
interfaces and whatnot, so, probably a pointer on how TomEE is 
implemented would be great. Maybe someday I could also contribute to 
Jakarta EE/MicroProfile specs as well. :)

If you feel that what I want is way too great for my current level of 
knowledge, I'm happy, too, with starting small bug fix.

Also probably this. I don't see (or fail miserably during search) guide 
about how to set up development environment and how to deliver patch 
(are we using that or just PR in GitHub?), and mechanism to review the 
work. So if there are references about this so I could learn myself, 
that would be great as well.

For tool reference, I have in my computer now all three IDEs, JDK10 
(from Oracle if I'm not mistaken), Maven 3.5, IntelliJ Ultimate (this 
years release, I think), and git for Windows. I have a laptop, with 
Fedora instead, git from repo, JDK10 too from Oracle, and IntelliJ 
Ultimate. If there is requirement to switch to another tools (probably 
for cohesion reason), I'd be happy to.

Thank you.

On 11/22/2018 5:49 PM, Jean-Louis Monteiro wrote:
> Hi Ferdi,
> 
> Welcome and thank you for the message.
> 
> It's always great to see new people around.
> What would you like to work on?
> 
>  From what I can see, I would probably suggest the examples approach. This
> is usually a perfect way to get into TomEE, learn how it works.
> Eventually, you get into some bugs or improvements you can contribute in
> addition to the examples.
> 
> Also if you are learning still, that is a perfect way to learn more and
> improve your skills.
> Otherwise, you can look after the JIRA project and see if you see some
> tickets you would like to work on.
> 
> Definitely let us know what you would like to do and we'll drive you
> through the way to do it.
> 
> Jean-Louis


Re: Just Joined - Introduction

Posted by Jean-Louis Monteiro <jl...@tomitribe.com>.
Hi Ferdi,

Welcome and thank you for the message.

It's always great to see new people around.
What would you like to work on?

From what I can see, I would probably suggest the examples approach. This
is usually a perfect way to get into TomEE, learn how it works.
Eventually, you get into some bugs or improvements you can contribute in
addition to the examples.

Also if you are learning still, that is a perfect way to learn more and
improve your skills.
Otherwise, you can look after the JIRA project and see if you see some
tickets you would like to work on.

Definitely let us know what you would like to do and we'll drive you
through the way to do it.

Jean-Louis




--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Thu, Nov 22, 2018 at 4:29 AM Ferdi <de...@ferdi.id> wrote:

> Hi, I'm Ferdi. I live in UTC+8. Currently work as UI tester in a
> consulting company.
>
> I recently learned Java EE 7 and have been playing with WildFly 14.
> The knowledge I have for Java is limited, but I know my way around the
> IDE and Maven, and would like to contribute to TomEE.
>
> I hope this is thorough enough for an introduction.
> Thank you.
>

Re: Just Joined - Introduction

Posted by Ferdi <de...@ferdi.id>.
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.

Re: Just Joined - Introduction

Posted by Jonathan Gallimore <jo...@gmail.com>.
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.

Resources that would be looked up in JNDI, and used with @Resource or
mapped to java:comp/env are configured in conf/tomee.xml. This is probably
not a bad place to start for the details:
http://tomee.apache.org/admin/configuration/resources.html

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.

There are some things underway at present:

* Java EE 8 support. The TCK is now available openly at Eclipse. I'll ask
if we can open up the work in this area. The learning curve is steep, but
once you have the initial setup, its not bad to work with. One idea I had
was maybe a couple of calls that people could join to go through the setup
and ask questions. I don't know how feasible this is. If it were possible,
we'd need to record them and make all the documentation available openly.

* Java 11 support. This something that has be going on for a little while,
and is complex due to the number of libraries that also need updates. My
suggestion here would be to try 8.0.0-M1 - we know it will have some
issues, but discussing those here and looking at next steps will be
worthwhile.

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.

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.

I hope this helps! Thanks again for posting, and welcome to the community!

Jon

On Thu, Nov 22, 2018 at 3:29 AM Ferdi <de...@ferdi.id> wrote:

> Hi, I'm Ferdi. I live in UTC+8. Currently work as UI tester in a
> consulting company.
>
> I recently learned Java EE 7 and have been playing with WildFly 14.
> The knowledge I have for Java is limited, but I know my way around the
> IDE and Maven, and would like to contribute to TomEE.
>
> I hope this is thorough enough for an introduction.
> Thank you.
>