You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@fineract.apache.org by Awasum Yannick <aw...@apache.org> on 2020/06/12 15:57:59 UTC

Discussions about Eclipselink ORM migration for Fineract 1.x

Taking this very important thread to the Dev lists. Thanks to Ed, Ebenezer,
Courage for helping Nasser.

Nasser you can always keep the community update here or create another
thread.

On Thu, Jun 11, 2020 at 4:10 PM Yemdjih Kaze Nasser <ka...@gmail.com>
wrote:

> Thanks, I'll take a look.
>
> Concerning weaving, I was able to achieve that by writing my own task to
> weave the classes. You can check it here
> https://github.com/xurror/fineract/blob/c411b63b885afab601efb256399428b2f6b55ae7/fineract-provider/build.gradle#L564
>
> I think it works as expected.
> I'll look into your suggestions and report back.
>
> Thanks for the assistance.
>
> On Thu, Jun 11, 2020, 15:45 Ebenezer Graham <eb...@gmail.com>
> wrote:
>
>> I recommend that you check out how I configured EclipseLink in Fineract
>> CN.
>>
>> https://github.com/apache/fineract-cn-postgresql/pull/5/files
>>
>> This is the most important file you want to pay attention to
>> https://github.com/ebenezergraham/fineract-cn-postgresql/blob/ec31f9a69abd8eacbea7940459f44fe3859e7e2a/src/main/java/org/apache/fineract/cn/postgresql/config/EclipseLinkJpaConfiguration.java
>>
>> It's basically the equivalent of your persistence.xml file.
>>
>> Also, I just looked at your StackOverflow question and there are a few
>> issues.
>>
>> First issue is static weaving while using grade. I noticed that you are
>> using static weaving. When I did my migration, I didn't find any good
>> Gradle plugin to help with static weaving and the options I found where
>> outdated and didn't work so well. But if there is a new plugin for that
>> now, please let me know so that I can update Fineract CN. I ended at trying
>> to port this plugin to Gradle
>> https://github.com/ethlo/eclipselink-maven-plugin/issues/23 but that is
>> no easy task.
>>
>> So I ended using dynamic weaving even though its performance is not as
>> good as static. I know Fineract 1.x uses Gradle so I'm curious to know how
>> you got static weaving to work. Plus, I noticed that you have commented out
>> loadtimeweaving. You need that if you are going the static path You can try
>> dynamic weaving to see if that works. I suspect build time weaving isn't
>> occurring.
>>
>> Also, another issue I see is your eclipselink.target-database, That has
>> also been commented out. You must specify the database target so that
>> EclipseLink knows what dialect to use in controlling custom operations and
>> SQL generation.
>>
>> Lastly, I want you to make sure that you have excluded Hibernate. You may
>> have taken out OpenJPA but Hibernate comes by default with data-jpa check
>> this file
>> https://github.com/ebenezergraham/fineract-cn-postgresql/blob/ec31f9a69abd8eacbea7940459f44fe3859e7e2a/build.gradle#L79-L83.
>> If Hibernate is present, spring will attempt to use that. So you have to
>> explicitly exclude it and given that it's not configured to use hibernate,
>> you could potentially get into a problem like this.
>>
>> Let me know if it helps
>>
>> On Thu, 11 Jun 2020 at 13:20, Yemdjih Kaze Nasser <ka...@gmail.com>
>> wrote:
>>
>>> Sure, sounds good to me.
>>>
>>>
>>> On Thu, Jun 11, 2020, 14:16 Ebenezer Graham <eb...@gmail.com>
>>> wrote:
>>>
>>>> Hi Yemdjih,
>>>>
>>>> Glad to see that you are working on the ORM migration for Fineract. You
>>>> can reach out to me if you have any questions. We can schedule a call
>>>> this weekend if you want
>>>>
>>>> On Tue, 9 Jun 2020 at 16:47, Ed Cable <ed...@mifos.org> wrote:
>>>>
>>>>> I think it would be fine to take this thread to the public list as I
>>>>> think others in the community like Aleks could also chime in.
>>>>>
>>>>> Nasser, this link would be very helpful as Adi walks through the
>>>>> challenges from the initial Hibernate to OpenJPA migration at
>>>>> https://www.youtube.com/watch?v=C4lXtXY-MY4
>>>>>
>>>>> @Nazeer Hussain Shaik <na...@gmail.com> might be able
>>>>> to answer some questions about that.
>>>>>
>>>>> I'm also adding @Ebenezer Graham <eb...@gmail.com> to this
>>>>> thread as he completed the Eclipselink migration for Finerat CN.
>>>>> Ed
>>>>>
>>>>> On Tue, Jun 9, 2020 at 8:44 AM Yemdjih Kaze Nasser <
>>>>> kazenasser@gmail.com> wrote:
>>>>>
>>>>>> I'm just adding Ed to this thread, so he can provide some assistance
>>>>>> too where needed.
>>>>>>
>>>>>> On Tue, Jun 9, 2020, 09:59 Yemdjih Kaze Nasser <ka...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hello once again,
>>>>>>>
>>>>>>> I had a call with Courage and we discussed a few things about the
>>>>>>> projecy. Though I'm still stuck I think it's fine for now.
>>>>>>> I've decided to work on other issues for a sometime for a change.
>>>>>>> I've also opened a thread on stackoverflow so that more eclipselink
>>>>>>> and spring JPA regulars can maybe tiip in.
>>>>>>>
>>>>>>> https://stackoverflow.com/questions/62263241/spring-jpa-with-eclipselink-save-operation-does-not-persist
>>>>>>>
>>>>>>> Thanks. Regards
>>>>>>>
>>>>>>> On Fri, 5 Jun 2020 at 16:31, Yemdjih Kaze Nasser <
>>>>>>> kazenasser@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hello mentors. Hope this mail finds you well.
>>>>>>>>
>>>>>>>> It's been a while now since I started working on migrating the ORM
>>>>>>>> for Fineract 1.x from Openjpa to Eclipselink.
>>>>>>>>
>>>>>>>> So far I was able to setup configuration parameters for a basic
>>>>>>>> persistence unit.
>>>>>>>> I have also setup a task to enhance(weave) classes without having
>>>>>>>> to use a Java agent which I think is a plus.
>>>>>>>>
>>>>>>>> The blocker which I would like to discuss with you is the problem
>>>>>>>> with persistence. The unit can actually entities but cannot write. I wrote
>>>>>>>> a dummy class to test this out and was actually able to do read and write
>>>>>>>> operations on that class. So I think our already existing entities have a
>>>>>>>> problem which I can't determine.
>>>>>>>>
>>>>>>>> I would like for us to discuss this at length during a call this
>>>>>>>> weekend if possible.
>>>>>>>> I would also like us to discuss further optimisations or
>>>>>>>> expectations you would like to see on this project.
>>>>>>>>
>>>>>>>> Hope to hear from you soon
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Best regards
>>>>>>>> Nasser.
>>>>>>>>
>>>>>>>
>>>>>
>>>>> --
>>>>> *Ed Cable*
>>>>> President/CEO, Mifos Initiative
>>>>> edcable@mifos.org | Skype: edcable | Mobile: +1.484.477.8649
>>>>>
>>>>> *Collectively Creating a World of 3 Billion Maries | *http://mifos.org
>>>>>   <http://facebook.com/mifos>  <http://www.twitter.com/mifos>
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>> *Best Regards,*
>>>>
>>>> *Ebenezer Graham*
>>>>
>>>>
>>>> <http://www.pactmart.com/>
>>>> GitHub <https://ebenezergraham.me> | LinkedIn
>>>> <https://www.linkedin.com/in/ebenezer-graham/> | Personal Website
>>>> <https://ebenezergraham.me>
>>>> skype:
>>>> ebenezer.graham
>>>> | Phone:
>>>> +233 27 64123425 <+233+27+64123425>
>>>>
>>>>
>>>> *“Talk is cheap, show me the Code” *- *Linus Torvalds*
>>>>
>>>>
>>
>> --
>>
>> *Best Regards,*
>>
>> *Ebenezer Graham*
>>
>>
>> <http://www.pactmart.com/>
>> GitHub <https://ebenezergraham.me> | LinkedIn
>> <https://www.linkedin.com/in/ebenezer-graham/> | Personal Website
>> <https://ebenezergraham.me>
>> skype:
>> ebenezer.graham
>> | Phone:
>> +233 27 64123425 <+233+27+64123425>
>>
>>
>> *“Talk is cheap, show me the Code” *- *Linus Torvalds*
>>
>>

Re: Discussions about Eclipselink ORM migration for Fineract 1.x

Posted by Yemdjih Kaze Nasser <ka...@gmail.com>.
Awesome, thanks!


On Fri, Jun 12, 2020, 16:58 Awasum Yannick <aw...@apache.org> wrote:

>
> Taking this very important thread to the Dev lists. Thanks to Ed,
> Ebenezer, Courage for helping Nasser.
>
> Nasser you can always keep the community update here or create another
> thread.
>
> On Thu, Jun 11, 2020 at 4:10 PM Yemdjih Kaze Nasser <ka...@gmail.com>
> wrote:
>
>> Thanks, I'll take a look.
>>
>> Concerning weaving, I was able to achieve that by writing my own task to
>> weave the classes. You can check it here
>> https://github.com/xurror/fineract/blob/c411b63b885afab601efb256399428b2f6b55ae7/fineract-provider/build.gradle#L564
>>
>> I think it works as expected.
>> I'll look into your suggestions and report back.
>>
>> Thanks for the assistance.
>>
>> On Thu, Jun 11, 2020, 15:45 Ebenezer Graham <eb...@gmail.com>
>> wrote:
>>
>>> I recommend that you check out how I configured EclipseLink in Fineract
>>> CN.
>>>
>>> https://github.com/apache/fineract-cn-postgresql/pull/5/files
>>>
>>> This is the most important file you want to pay attention to
>>> https://github.com/ebenezergraham/fineract-cn-postgresql/blob/ec31f9a69abd8eacbea7940459f44fe3859e7e2a/src/main/java/org/apache/fineract/cn/postgresql/config/EclipseLinkJpaConfiguration.java
>>>
>>> It's basically the equivalent of your persistence.xml file.
>>>
>>> Also, I just looked at your StackOverflow question and there are a few
>>> issues.
>>>
>>> First issue is static weaving while using grade. I noticed that you are
>>> using static weaving. When I did my migration, I didn't find any good
>>> Gradle plugin to help with static weaving and the options I found where
>>> outdated and didn't work so well. But if there is a new plugin for that
>>> now, please let me know so that I can update Fineract CN. I ended at trying
>>> to port this plugin to Gradle
>>> https://github.com/ethlo/eclipselink-maven-plugin/issues/23 but that is
>>> no easy task.
>>>
>>> So I ended using dynamic weaving even though its performance is not as
>>> good as static. I know Fineract 1.x uses Gradle so I'm curious to know how
>>> you got static weaving to work. Plus, I noticed that you have commented out
>>> loadtimeweaving. You need that if you are going the static path You can try
>>> dynamic weaving to see if that works. I suspect build time weaving isn't
>>> occurring.
>>>
>>> Also, another issue I see is your eclipselink.target-database, That has
>>> also been commented out. You must specify the database target so that
>>> EclipseLink knows what dialect to use in controlling custom operations and
>>> SQL generation.
>>>
>>> Lastly, I want you to make sure that you have excluded Hibernate. You
>>> may have taken out OpenJPA but Hibernate comes by default with data-jpa
>>> check this file
>>> https://github.com/ebenezergraham/fineract-cn-postgresql/blob/ec31f9a69abd8eacbea7940459f44fe3859e7e2a/build.gradle#L79-L83.
>>> If Hibernate is present, spring will attempt to use that. So you have to
>>> explicitly exclude it and given that it's not configured to use hibernate,
>>> you could potentially get into a problem like this.
>>>
>>> Let me know if it helps
>>>
>>> On Thu, 11 Jun 2020 at 13:20, Yemdjih Kaze Nasser <ka...@gmail.com>
>>> wrote:
>>>
>>>> Sure, sounds good to me.
>>>>
>>>>
>>>> On Thu, Jun 11, 2020, 14:16 Ebenezer Graham <eb...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi Yemdjih,
>>>>>
>>>>> Glad to see that you are working on the ORM migration for Fineract.
>>>>> You can reach out to me if you have any questions. We can schedule a call
>>>>> this weekend if you want
>>>>>
>>>>> On Tue, 9 Jun 2020 at 16:47, Ed Cable <ed...@mifos.org> wrote:
>>>>>
>>>>>> I think it would be fine to take this thread to the public list as I
>>>>>> think others in the community like Aleks could also chime in.
>>>>>>
>>>>>> Nasser, this link would be very helpful as Adi walks through the
>>>>>> challenges from the initial Hibernate to OpenJPA migration at
>>>>>> https://www.youtube.com/watch?v=C4lXtXY-MY4
>>>>>>
>>>>>> @Nazeer Hussain Shaik <na...@gmail.com> might be able
>>>>>> to answer some questions about that.
>>>>>>
>>>>>> I'm also adding @Ebenezer Graham <eb...@gmail.com> to
>>>>>> this thread as he completed the Eclipselink migration for Finerat CN.
>>>>>> Ed
>>>>>>
>>>>>> On Tue, Jun 9, 2020 at 8:44 AM Yemdjih Kaze Nasser <
>>>>>> kazenasser@gmail.com> wrote:
>>>>>>
>>>>>>> I'm just adding Ed to this thread, so he can provide some assistance
>>>>>>> too where needed.
>>>>>>>
>>>>>>> On Tue, Jun 9, 2020, 09:59 Yemdjih Kaze Nasser <ka...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello once again,
>>>>>>>>
>>>>>>>> I had a call with Courage and we discussed a few things about the
>>>>>>>> projecy. Though I'm still stuck I think it's fine for now.
>>>>>>>> I've decided to work on other issues for a sometime for a change.
>>>>>>>> I've also opened a thread on stackoverflow so that more eclipselink
>>>>>>>> and spring JPA regulars can maybe tiip in.
>>>>>>>>
>>>>>>>> https://stackoverflow.com/questions/62263241/spring-jpa-with-eclipselink-save-operation-does-not-persist
>>>>>>>>
>>>>>>>> Thanks. Regards
>>>>>>>>
>>>>>>>> On Fri, 5 Jun 2020 at 16:31, Yemdjih Kaze Nasser <
>>>>>>>> kazenasser@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hello mentors. Hope this mail finds you well.
>>>>>>>>>
>>>>>>>>> It's been a while now since I started working on migrating the ORM
>>>>>>>>> for Fineract 1.x from Openjpa to Eclipselink.
>>>>>>>>>
>>>>>>>>> So far I was able to setup configuration parameters for a basic
>>>>>>>>> persistence unit.
>>>>>>>>> I have also setup a task to enhance(weave) classes without having
>>>>>>>>> to use a Java agent which I think is a plus.
>>>>>>>>>
>>>>>>>>> The blocker which I would like to discuss with you is the problem
>>>>>>>>> with persistence. The unit can actually entities but cannot write. I wrote
>>>>>>>>> a dummy class to test this out and was actually able to do read and write
>>>>>>>>> operations on that class. So I think our already existing entities have a
>>>>>>>>> problem which I can't determine.
>>>>>>>>>
>>>>>>>>> I would like for us to discuss this at length during a call this
>>>>>>>>> weekend if possible.
>>>>>>>>> I would also like us to discuss further optimisations or
>>>>>>>>> expectations you would like to see on this project.
>>>>>>>>>
>>>>>>>>> Hope to hear from you soon
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Best regards
>>>>>>>>> Nasser.
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>> --
>>>>>> *Ed Cable*
>>>>>> President/CEO, Mifos Initiative
>>>>>> edcable@mifos.org | Skype: edcable | Mobile: +1.484.477.8649
>>>>>>
>>>>>> *Collectively Creating a World of 3 Billion Maries | *
>>>>>> http://mifos.org  <http://facebook.com/mifos>
>>>>>> <http://www.twitter.com/mifos>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> *Best Regards,*
>>>>>
>>>>> *Ebenezer Graham*
>>>>>
>>>>>
>>>>> <http://www.pactmart.com/>
>>>>> GitHub <https://ebenezergraham.me> | LinkedIn
>>>>> <https://www.linkedin.com/in/ebenezer-graham/> | Personal Website
>>>>> <https://ebenezergraham.me>
>>>>> skype:
>>>>> ebenezer.graham
>>>>> | Phone:
>>>>> +233 27 64123425 <+233+27+64123425>
>>>>>
>>>>>
>>>>> *“Talk is cheap, show me the Code” *- *Linus Torvalds*
>>>>>
>>>>>
>>>
>>> --
>>>
>>> *Best Regards,*
>>>
>>> *Ebenezer Graham*
>>>
>>>
>>> <http://www.pactmart.com/>
>>> GitHub <https://ebenezergraham.me> | LinkedIn
>>> <https://www.linkedin.com/in/ebenezer-graham/> | Personal Website
>>> <https://ebenezergraham.me>
>>> skype:
>>> ebenezer.graham
>>> | Phone:
>>> +233 27 64123425 <+233+27+64123425>
>>>
>>>
>>> *“Talk is cheap, show me the Code” *- *Linus Torvalds*
>>>
>>>