Eclipse Access Restriction Error

Clickide 3

Image via Wikipedia

When in Eclipse you have an error like: “Access restriction: The constructor AppletAudioClip(URL) is not accessible due to restriction on required library C:\Programmi\Java\jdk1.6.0_24\jre\lib\rt.jar” You simply need to follow these steps to avoid compilation error:

Click on the Properties of your project Go to Java Compiler–>Errors/Warnings search for “Deprecated and Restricted API” and set to warning “Forbidden reference (access rules)” item.

That’s it.

Delete Files Older Than X Days on Linux

Tux, the Linux penguin

Image via Wikipedia

The find utility on linux allows you to pass in a bunch of interesting arguments, including one to execute another command on each file. We’ll use this in order to figure out what files are older than a certain number of days, and then use the rm command to delete them.

Command Syntax

find /path/to/files* -mtime +5 -exec rm {} \;

Note that there are spaces between rm, {}, and \;

Explanation

  • The first argument is the path to the files. This can be a path, a directory, or a wildcard as in the example above. I would recommend using the full path, and make sure that you run the command without the exec rm to make sure you are getting the right results.
  • The second argument, -mtime, is used to specify the number of days old that the file is. If you enter +5, it will find files older than 5 days.
  • The third argument, -exec, allows you to pass in a command such as rm. The {} \; at the end is required to end the command.

This should work on Ubuntu, Suse, Redhat, or pretty much any version of linux.

Java – Single Application Instance

Duke, the Java Mascot, in the waving pose. Duk...

Image via Wikipedia

If you want to prevent the user from running multiple copies of your Java application here are two approaches I could suggest you:
1) You can verify if a busy file exist. If one exists, abort. If not create one.  The process to test and create the file can be developed in the script file that triggers the application or in the application itself.  When the app exists it deletes the busy marker file. The main problem with this simple approach is if your app crashes, it won’t delete the busy file. You have to manually delete it before you can run the app again.

2) Another approach is to have your application open a ServerSocket on a particular port number. The OS will prevent other processes from opening a ServerSocket that uses the same port. If you start the application and are unable to open your ServerSocket (i.e. if you get an “address already in use” exception) assume that the application is already running. In that case, you can use a Socket to connect to the running application and pass it whatever commands you like, or just abort.

Source: http://mindprod.com/jgloss/singleinstance.html