I have created a keep-alive extension for SQL Developer as I have always wanted to prevent my connections from timing out. Hope this will become handy to some of you. The download file and instructions are hosted on Google Sites.
I am currently working on the connection settings now where each connection could have its own timeout interval. Since I am doing it in my free time after my day job, it will probably be done within another day or two. I will post here once I uploaded the new version. In the meantime, let me know if you have any suggestions or improvement on the extension.
I have uploaded the latest version with the following features.
- Each connection could have its own keep alive interval.
- Keep alive intervals are saved and retained.
- On keep alive activation, interval is displayed on the message box.
Hi - thanks very much for developing this. I only hope that Oracle can get the functionality sorted in the next version.
Anyway, I have a minor bug report;
I compiled a package on a connection that I had 'keep alive' activated on, and I got this error in the Extensions log window:
*(Unknown Source)* Error: Extension ID cmc.pinger in extension.xml does not match jar filename oracle.sqldeveloper.keepalive
It's hard to tell if its working or not without doing some fairly long running tests.
Thanks for informing. Yeah, I am aware of that. Someone e-mailed me regarding this. It is due to name discrepancy between the jar and the configuration XML. However, the extension still works as expected. Nevertheless, I have updated the jar with the correct name in the configuration XML and you may choose to update it if you want to prevent that error message from coming out. Please let me know if you find any other bugs. Thanks!
I was hoping not to need to use your extension once SQL Developer 3.0 came out, but now it's here I can see that those of us who have need for a keep alive feature have been left out in the cold once again.
So, thanks again to you for your excellent work.
Anyway, I was wondering if your extension could be extended to manage cleanly disconnecting a connection that has been dropped? This can happen even when using the keep alive extension, and SQL developer doesn't handle it well.
I would like to ask if anyone is using the extension on MacOSX. I got an e-mail saying that nothing happens when the menu items are clicked. I am not entirely sure as I don't own a Mac so appreciate it if anyone can confirm.
Thanks a bunch!
Regarding OS/X: Sometimes it works, and sometimes it doesn't. When it doesn't work, it responds as you indicate: No message is displayed. I sometimes repeat my attempts, trying other options on the context menu and eventually I can get it to work. Sometimes it works first time out.
I tried to establish a clear pattern, but have not yet been able to do so.
Lately I have been getting questions on whether the extension is secure enough to be used as more often than not, a database would definitely contain confidential or sensitive information hence it is absolutely crucial that security is maintained and running external extensions does not seem reassuring. Here, I would like to write a bit on how to ensure that security is maintained when running third party extensions for SQL Developer.
The most secure approach is to scrutinize the source code of the extensions themselves if it is made available at all. If no source code is available, then it would take a different approach which is far more complex and won't to be covered here. Fortunately, extensions for SQL Developer are developed using Java and the beauty of it is that one could easily decompile the classes back into the source code. From there onwards, scrutinize the code thoroughly to ensure there is no rogue logic or any function that would "phone home" for whatever reason other than to check for updates. By practicing self code scrutiny, it would be the most reassuring. As I myself am every bit concerned about security, I do tend to extract out the source code of all the Firefox extensions I use and do a quick glance. ;)
With this, I hope more people will embrace the extensibility of SQL Developer and create more extensions for the community. SQL Developer is a great application and thanks to the team who created it and made it available at zero charge. :D
P.S. You can decompile Java classes using the free tool called JD-Gui which can be found at