Running java application as daemon on startup

view story

http://askubuntu.com – I created a java tcp server socket application. This program must always start when the PC boots up. From my research so far, I believe the correct way to achieve this is to run the application as a daemon process. I will use Upstart to start the appplication. Is this correct/best method? The socket server application will be running in Ubuntu Server 12.04 on Amazon's web services (EC2) infrastructure so I only have access via ssh. (HowTos)