[MAGNOLIA-7617] Replace I18n Proxytoys with ByteBuddy Created: 03/Sep/19  Updated: 16/Jun/23  Resolved: 08/Nov/22

Status: Closed
Project: Magnolia
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Neutral
Reporter: Aleksandr Pchelintcev Assignee: Aleksandr Pchelintcev
Resolution: Done Votes: 0
Labels: i18n, innovation_days, proxy, tech-debt
Σ Remaining Estimate: 2.75h Remaining Estimate: Not Specified
Σ Time Spent: 5d 7h 16m Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

Issue Links:
Relates
duplicate
Sub-Tasks:
Key
Summary
Type
Status
Assignee
MAGNOLIA-7431 Replace I18n Proxytoys instrumentatio... Sub-task Closed Aleksandr Pchelintcev  
MAGNOLIA-7433 Replace CGLIB based MutableWrapper im... Sub-task Closed Roman Kovařík  
MAGNOLIA-7618 Replace CGLIB based DefinitionProvide... Sub-task Closed Aleksandr Pchelintcev  
MAGNOLIA-7619 Replace CGLIB based ProxyBasedBeanMer... Sub-task Closed  
MAGNOLIA-7620 Replace CGLIB based ObservedComponent... Sub-task Closed  
Template:
Acceptance criteria:
Empty
Task DoR:
Empty
Date of First Response:
Epic Link: Build on Java 17
Story Points: 5
Team: Foundation

 Description   
  • CGLIB (and esp. Proxytoys) is not actively maintained at the moment whereas ByteBuddy is developed and updated on a regular basis and has a good support online by the author.
  • CGLIB generates proxy which does decoration/method dispatching in Runtime, adding quite a lot of penalty on interaction with enhanced definitions (any method call would result in reflection-based look-ups, annotation inspection etc). ByteBuddy in turn generates method bytecode that "fuses" the delegates in, resulting in close to none overhead in runtime.
  • ByteBuddy API and logic is much cleaner and elegant than of ProxyToys, which leads to the easier to maintain code on our side.


 Comments   
Comment by Michael Duerig [ 08/Nov/22 ]

Done with DEV-2087 and DEV-2088

Comment by Roman Kovařík [ 08/Nov/22 ]

There are some completed subtasks, should this be closed as completed instead?

Comment by Michael Duerig [ 08/Nov/22 ]

Changed the resolution to done, which is the closest thing to completed I could find

Generated at Mon Feb 12 04:25:20 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.