Not long ago, I was asked by some colleagues to help troubleshoot an issue; they were having some difficulty with the production deployment of a monolith web service using Wildfly and Spring. How could I resist, considering how much I love event-driven frameworks and their ridiculously verbose log files? (You can cut the sarcasm with a knife.) In any case, it seems that the server was failing during initialization. After wading through the gazillions of lines written due to an exception from the JedisConnectionFactory, I finally found an Null exception from our code that was a clue. It seemed to indicate that a variable was missing from from our active profile. So, I looked inside the standalone.xml file to see if we were pointing to the right profile:
<!-- list of extension -->
<property name="spring.profiles.active" value="production"/>
That was the right profile name, all right…So I copied the deployed .WAR file and opened it up. Alas, the profile wasn’t inside the “/resources” directory! It seems that they weren’t deploying the right version. Problem solved.
So, that leads me to my point. Can the Spring community do me a big favor? If the target profile does not exist, then maybe the log file (among its gazillions of other lines) should say that THE TARGET PROFILE DOES NOT EXIST!
That would be a big timesaver and most appreciated.
Well, on top of Microsoft’s XML/JSON deserialization issues within its own libraries, there appears to be related issues within certain third-party libraries.
As if I wasn’t paranoid enough!
Need to validate
A given XML file
With a DTD.
How easy I thought
Since Java can easily
As the wind blows north.
Hours drift by like logs
On a fast moving river
But still no way seen.
Oh why Microsoft
With external DTD
Can’t you validate?
A Resolver class?
I must inherit and code?
Still it does not work.
Tears stream down my face
Lost in rain like sands of time
C#, you fail me.
Years ago, I dabbled with the idea of developing a platform that would present trivia about literature to interested bibliophiles, like which popular songs were inspired by famous books. Specifically, I thought that it would make an entertaining mobile app. (At around the same time and unknown to me until much later, a company called Small Demons had a similar idea and a much better implementation in the form of a robust web site. Unfortunately for them and for me, though, the general idea never found a core demographic.) After creating an iOS version, I decided to target something more appropriate, and I chose an eBook platform that I was fairly familiar with: the Nook. Taking some lessons from creating my first version of it and teaching myself the Android platform, I was able to create a much more user-friendly implementation for our Nook store (though obviously still novice). It didn’t exactly turn me into a millionaire, but I was still proud of it nonetheless.
A few weeks ago, I happened to stumble on the original source code, and I decided that it was time to find it a good home, somewhere other than my old hard drive. I’ll admit that it wasn’t designed all that well, but since this was also my first real Android project, I’m inclined to forgive myself. I’ve uploaded the project to GitHub, so that it may endure for posterity. For the purpose of inspiration or amusement through ridicule, only time will tell. 🙂