<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Java on JOURNAL.ROBBI.MY</title><link>https://journal.robbi.my/tags/java/</link><description>Recent content in Java on JOURNAL.ROBBI.MY</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 30 Jun 2026 03:01:59 +0000</lastBuildDate><atom:link href="https://journal.robbi.my/tags/java/index.xml" rel="self" type="application/rss+xml"/><item><title>bookmark - Scaling Spring Boot Strategies for Handling Millions of Requests</title><link>https://journal.robbi.my/indieweb/241103110133/</link><pubDate>Sun, 03 Nov 2024 11:01:33 +0800</pubDate><guid>https://journal.robbi.my/indieweb/241103110133/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://archive.ph/HTgEv"&gt;archive.today&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Bookmark : Java Task Executor in Spring Boot</title><link>https://journal.robbi.my/indieweb/241103092119/</link><pubDate>Sun, 03 Nov 2024 09:21:19 +0800</pubDate><guid>https://journal.robbi.my/indieweb/241103092119/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://archive.ph/AfLKw#selection-3629.248-3629.256"&gt;archive.today&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Use Cases for Java Records</title><link>https://journal.robbi.my/indieweb/240610054825/</link><pubDate>Mon, 10 Jun 2024 05:48:25 +0800</pubDate><guid>https://journal.robbi.my/indieweb/240610054825/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://archive.today/2024.06.09-213553/https://reflectoring.io/beginner-friendly-guide-to-java-records/"&gt;archive.today&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20240609213541/https://reflectoring.io/beginner-friendly-guide-to-java-records/"&gt;wayback machine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Learn Microservices with Spring Boot 3 : A Practical Approach Using Event-Driven Architecture, Cloud-Native Patterns, and Containerization</title><link>https://journal.robbi.my/reading/240316101119/</link><pubDate>Sat, 16 Mar 2024 10:11:19 +0800</pubDate><guid>https://journal.robbi.my/reading/240316101119/</guid><description>&lt;p&gt;&lt;img src="https://journal.robbi.my/reading/240316101119/9781484297568-us.jpg" alt=""
 class="mx-auto block cursor-zoom-in"
 data-zoomable
 loading="lazy" /&gt;
&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Title&lt;/th&gt;
 &lt;th&gt;Author&lt;/th&gt;
 &lt;th&gt;Status&lt;/th&gt;
 &lt;th&gt;Rating&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;9781484297568 - Learn Microservices with Spring Boot 3 : A Practical Approach Using Event-Driven Architecture, Cloud-Native Patterns, and Containerization&lt;/td&gt;
 &lt;td&gt;Moisés Macero García, Tarun Telang&lt;/td&gt;
 &lt;td&gt;Finished&lt;/td&gt;
 &lt;td&gt;3.5/5&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>24 01 24 1304_springboot Maven Update Dependencies</title><link>https://journal.robbi.my/indieweb/240124010447/</link><pubDate>Wed, 24 Jan 2024 13:04:47 +0800</pubDate><guid>https://journal.robbi.my/indieweb/240124010447/</guid><description>&lt;p&gt;Awesome tutorial written by Bunty Raghani from &lt;a href="https://bootcamptoprod.com"&gt;bootcamptoprod.com&lt;/a&gt; about update maven dependencies effortlessly and keep springboot project up-to-date&lt;/p&gt;
&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://archive.ph/RfyWM"&gt;archive.today&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20240124050414/https://bootcamptoprod.com/update-maven-dependencies/"&gt;Wayback Machine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 11 29 0631_eclipse Birt Report</title><link>https://journal.robbi.my/indieweb/231129063142/</link><pubDate>Wed, 29 Nov 2023 06:31:42 +0800</pubDate><guid>https://journal.robbi.my/indieweb/231129063142/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20231128223821/https://www.vogella.com/tutorials/EclipseBIRT/article.html"&gt;Wayback Machine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://archive.today/2023.11.28-223751/https://www.vogella.com/tutorials/EclipseBIRT/article.html"&gt;Archive Today&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 11 25 0348_hextechie Abstract Factory Design</title><link>https://journal.robbi.my/indieweb/231125034845/</link><pubDate>Sat, 25 Nov 2023 03:48:45 +0800</pubDate><guid>https://journal.robbi.my/indieweb/231125034845/</guid><description/></item><item><title>23 10 24 0912_springboot Beginner Step</title><link>https://journal.robbi.my/indieweb/231024091253/</link><pubDate>Tue, 24 Oct 2023 09:12:53 +0800</pubDate><guid>https://journal.robbi.my/indieweb/231024091253/</guid><description/></item><item><title>23 10 24 0850_JPA QueryDSL</title><link>https://journal.robbi.my/indieweb/231024085007/</link><pubDate>Tue, 24 Oct 2023 08:50:07 +0800</pubDate><guid>https://journal.robbi.my/indieweb/231024085007/</guid><description/></item><item><title>23 09 28 0436_springboot2 vs Springboot3</title><link>https://journal.robbi.my/indieweb/230928043606/</link><pubDate>Thu, 28 Sep 2023 04:36:06 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230928043606/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://archive.ph/T7VP7"&gt;Archive.PH&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 09 28 0255_bookmark Springboot Json Jackson</title><link>https://journal.robbi.my/indieweb/230928025535/</link><pubDate>Thu, 28 Sep 2023 02:55:35 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230928025535/</guid><description>&lt;p&gt;Mirror :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20230205150038/https://www.springcloud.io/post/2022-07/jackson/#gsc.tab=0"&gt;WayBackMachine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://archive.ph/IqvdT"&gt;Archive.ph&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 09 25 0000_bookmark Springboot Retry</title><link>https://journal.robbi.my/indieweb/230925120029/</link><pubDate>Mon, 25 Sep 2023 00:00:29 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230925120029/</guid><description/></item><item><title>23 09 20 1611_bookmark Springboot Quick Start</title><link>https://journal.robbi.my/indieweb/230920041204/</link><pubDate>Wed, 20 Sep 2023 16:12:04 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230920041204/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20230920081054/https://www.springcloud.io/post/2022-09/springboot-getstart/#gsc.tab=0"&gt;WaybackMachine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 09 20 1158_bookmark Springboot Unit Test</title><link>https://journal.robbi.my/indieweb/230920115915/</link><pubDate>Wed, 20 Sep 2023 11:59:15 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230920115915/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20230920034320/https://www.springcloud.io/post/2023-05/spring-boot-unit-test/#gsc.tab=0"&gt;WaybackMachine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 09 20 1132_bookmark Springboot Resources Autowired</title><link>https://journal.robbi.my/indieweb/230920113221/</link><pubDate>Wed, 20 Sep 2023 11:32:21 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230920113221/</guid><description>&lt;p&gt;Mirror :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20230920033111/https://www.springcloud.io/post/2023-06/spring-autowired-and-resource/#gsc.tab=0"&gt;WaybackMachine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>23 09 20 1102_bookmark Springboot File Download</title><link>https://journal.robbi.my/indieweb/230920110305/</link><pubDate>Wed, 20 Sep 2023 11:03:05 +0800</pubDate><guid>https://journal.robbi.my/indieweb/230920110305/</guid><description>&lt;p&gt;Mirror:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20230920030413/https://www.springcloud.io/post/2023-03/springboot-download/#gsc.tab=0"&gt;WaybackMachine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Django logger (my personal favourite format)</title><link>https://journal.robbi.my/posts/230309102851/</link><pubDate>Thu, 09 Mar 2023 22:28:51 +0800</pubDate><guid>https://journal.robbi.my/posts/230309102851/</guid><description>&lt;p&gt;Personally, I do lot of programming using JAVA and &lt;code&gt;log4j&lt;/code&gt; is my favourite package that I use on my project.. but sometimes I also use PYTHON and been using DJANGO framework
because of it simplicity and easier to deploy.&lt;/p&gt;
&lt;p&gt;When I use DJANGO, I still prefer to have &lt;code&gt;logger&lt;/code&gt; on each of importance line of code (LoC) so I can trace back what actually happened when the code are executed.&lt;/p&gt;</description></item><item><title>One To Many - Many To One (JPA and Hibernate)</title><link>https://journal.robbi.my/posts/210607120000/</link><pubDate>Mon, 07 Jun 2021 00:00:00 +0000</pubDate><guid>https://journal.robbi.my/posts/210607120000/</guid><description>&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#intro"&gt;Intro&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#database-design"&gt;Database design&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#unidirectional-implementation"&gt;Unidirectional implementation&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#model"&gt;Model&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#table---customer"&gt;Table - Customer&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#table---cart"&gt;Table - Cart&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#details-and-explaination"&gt;Details and explaination&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#bidirectional-implementation"&gt;Bidirectional implementation&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#model-1"&gt;Model&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#table---customer-1"&gt;Table - Customer&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#table---order"&gt;Table - Order&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#details-and-explaination-1"&gt;Details and explaination&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#side-note"&gt;Side note&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#conclusion"&gt;Conclusion&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;h2 id="intro"&gt;Intro&lt;/h2&gt;
&lt;p&gt;Nowadays, programming evolve and growth rapidly from time to time but most of problem and issue that we want to solve have same design concept in many ways.&lt;/p&gt;
&lt;p&gt;Today, I want to wrote something about relational database system. The topic today are about &lt;code&gt;one-to-many&lt;/code&gt; / &lt;code&gt;many-to-one&lt;/code&gt; association relationship. It about a links of multiple tables based on a FK (Foreign Key) column which that the child table record references back to the PK (Primary Key) of the parent table row data. I also will touch &lt;code&gt;unidirectional&lt;/code&gt; and &lt;code&gt;bidirectional&lt;/code&gt; propagation.&lt;/p&gt;</description></item><item><title>Sending JSON data file using CURL to API endpoint</title><link>https://journal.robbi.my/posts/201130102300/</link><pubDate>Mon, 30 Nov 2020 10:23:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201130102300/</guid><description>&lt;p&gt;I developed warehouse system and use restful as communication method between our software and client software. We let end point of our system to talk each other with API designed.&lt;/p&gt;
&lt;p&gt;For simple and small test using Postman or SOAP-UI is enough for me but to when to test this system with massive data via API is quite headache, plus the mock features on Postman limited and not &amp;ldquo;mocking&amp;rdquo; enough as I want.&lt;/p&gt;</description></item><item><title>Perbezaan pengaturcaraan Java dan C#</title><link>https://journal.robbi.my/posts/201014022900/</link><pubDate>Wed, 14 Oct 2020 14:29:00 +0000</pubDate><guid>https://journal.robbi.my/posts/201014022900/</guid><description>&lt;nav id="TableOfContents"&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#pengenalan"&gt;Pengenalan&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#jvm-dan-net"&gt;JVM dan .Net&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#kata-kunci-dan-konvensi"&gt;kata kunci dan konvensi&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#java-package"&gt;Java package&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#c-namespace"&gt;C# namespace&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#sintaks"&gt;Sintaks&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#java-menghalang-subclassing-menggunakan-final"&gt;Java: Menghalang subclassing menggunakan &lt;code&gt;final&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#c-menghalang-subclassing-menggunakan-sealed"&gt;C#: Menghalang subclassing menggunakan &lt;code&gt;sealed&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#rujukan-reference-dan-nilai-value"&gt;Rujukan (reference) dan nilai (value)&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#metadata"&gt;Metadata&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;&lt;a href="#java-annotations"&gt;Java: Annotations&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#c-attributes"&gt;C#: Attributes&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;&lt;a href="#getters-and-setters"&gt;Getters and setters&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#pointer"&gt;Pointer&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="#bersambung"&gt;&amp;hellip;bersambung&lt;/a&gt;&lt;/li&gt;
 &lt;/ul&gt;
&lt;/nav&gt;

&lt;h2 id="pengenalan"&gt;Pengenalan&lt;/h2&gt;
&lt;p&gt;Kat Malaysia ni, ada tiga keturunan bahasa pengaturcaran yang duduk dalam kategori majoriti iaitu Java, PHP dan C#. Mungkin ada yang tak setuju, well kenyataan tadi cumalah pendapat dan pengalaman peribadi.&lt;/p&gt;</description></item><item><title>Patching cvs files using patch manually and how to revert it</title><link>https://journal.robbi.my/posts/200922013400/</link><pubDate>Tue, 22 Sep 2020 01:34:00 +0800</pubDate><guid>https://journal.robbi.my/posts/200922013400/</guid><description>&lt;p&gt;Assalamualaikum and hello everyone!&lt;/p&gt;
&lt;p&gt;Today, I gonna put my note how to patch file using &amp;ldquo;patch&amp;rdquo; (linux utility tool). Have you using it? Well, please read &lt;a href="https://linux.die.net/man/1/patch"&gt;https://linux.die.net/man/1/patch&lt;/a&gt; if you are looking for standard manual from man pages.&lt;/p&gt;
&lt;p&gt;I know it already 2020 and yes, someone like me are still using CVS.&lt;/p&gt;
&lt;p&gt;CVS (Concurrent Version Control) is very old source code control but it still use nowadays for certain project, even BSD ports still using CVS. To be honest, I don’t like CVS but because it they only SCM (source control management) tool for certain project.&lt;/p&gt;</description></item></channel></rss>