Archiva and Remote Repositories

My current client wants to move more and more towards a DevOps paradigm, which includes CI (Continuous Integration) tools. Since they have almost 200 apps across 50 JVMs, most of which were written using IBM’s RAD IDE well before the first dot-com bust, we elected to use an Ant with Ivy approach for these apps.

The newer apps I’m working on are Maven based, so we started by connecting these up to an Archiva jar repository first as a proof of concept, and now we need to integrate the older apps to use Ant, Ivy, and Archiva.

We ran into a couple of issues getting our local machines connected to remote repositories through Archiva. After much troubleshooting and reading Archiva’s docs, our mistake was pretty obvious: we were only connecting to the internal portion of Archiva.

We confirmed that the issue was Archiva by removing the info from Maven’s settings.xml that pointed to the Archiva instance, and having our local machines connect directly to the remote repository by including the info in the pom.xml.

The error we received when connecting to our Archiva instance was:


[ERROR] Failed to execute goal on project RandomStuff: Could not resolve dependencies for project currentclient:RandomStuff:jar:0.0.1-SNAPSHOT: Failure to find com.vaadin.addons:filteringtable:jar:0.9.4.v7 in http://currentclient.com:8888/archiva/repository/internal was cached in the local repository, resolution will not be reattempted until the update interval of repository.currentclient.com has elapsed or updates are forced -> [Help 1]

[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

We were able to grab certain Apache related jars using Archiva, but they were all configured as internal repositories. The new jars were failing because the remote repositories were not being recognized.

After a few attempts at connecting Repository Proxies, it dawned on us to create a Group Repository, which provided us with one URL that tells Archiva to look at both internal and external URLs.

JMeter timestamps in excel

I’m doing some APM (app performance management) on a very sh!tty app written in 1995 for a migration from WebSphere 6.1 to WAS 7.0, and I ran into an issue when trying to paste some JMeter timestamps into an email. The formatting was all off when just highlighting the aggregate data and pasting it into an email, so I thought I’d try Excel.

To my surprise, the data was paste job into Excel went right into columns and rows, which was a nice perk. Unfortunately, the timestamps did not automatically port to dates, but luckily I found this formula, which will be useful in the future since we are using JMeter more and more for APM at work.

= (CELL_REFERNCE / 86400000) + 25569

After making the formula change above, and setting the column’s format to date, I was able to then select the table and paste it into an email for all to see.

Books of 2013

I set a personal book record in 2013 with 20 books completed this past calendar year. I did not get into reading for pleasure until the few weeks between finishing college and starting my first job, where I read Tom Clancy’s Without Remorse. After that book, I’ve been hooked ever since.

I think one of the reasons I read so many books this year was due to my Kindle. At first I was very against the e-reader craze; mainly because I enjoy the feel and smell of a book. The ability to easily take notes was a huge plus for me as well, but once I started reading with my Kindle combined with the Kindle app on my phone, I was hooked and have not read a paper book since.

In order of 2013 completion, I read the following:

  1. Life of Pi
  2. Getting Real
  3. Water for Elephants
  4. Start Small, Stay Small: A Developer’s Guide to Launching a Startup
  5. The Red Circle: My Life in the Navy SEAL Sniper Corps and How I Trained America’s Deadliest Marksmen
  6. Battle Hymn of the Tiger Mother
  7. Signs of Life: 40 Catholic Customs and Their Biblical Roots
  8. Know Your Bible: All 66 Books Explained and Applied
  9. A Biblical Walk Through The Mass: Understanding What We Say And Do In The Liturgy
    • My favorite spiritual book of the year.
  10. Unbroken: A World War II Story of Survival, Resilience, and Redemption
  11. The Boglehead’s Guide to Investing
  12. Control Exposing the Truth About Guns
  13. When the Game was Ours
  14. The Hunger Games
  15. True Grit: A Novel
    *Borrowed from my local library via my Kindle.
  16. Sphere
    *Borrowed from my local library via my Kindle.
  17. Ender’s Game
    *A book I’ve always wanted to read, but recently made time for with the movie that came out. Still have not seen the movie.
  18. Outliers: The Story of Success
  19. Rebuilt: Awakening the Faithful, Reaching the Lost, and Making Church Matter
  20. No Easy Day: The Firsthand Account of the Mission that Killed Osama Bin Laden