We have created a series of Questions and Answers section to help current and new users take advantage of all features the Wrapper can offer.
A Newsletters is sent to our users announcing the latest Technical Tips for the Java Service Wrapper.
Each issue contains two tips explaining how to use the powerful features of our product.
The Java Service Wrapper includes automatic Crash detection, reporting and recovery.
Java as a language was designed to make it impossible for user developed code to result in an application crash.
Any error would result in a nice clean exception being thrown which could be caught, and then handled appropriately.
The reality, as any long time Java developer or system administrator knows, is that the Java Virtual Machine (JVM) itself can and does crash.
This is because the JVM is itself a program written in native code, and like any very large complicated program, the JVM has some bugs in it.
The Java Service Wrapper provides a number of methods to cleanly shutdown an application from both internal and external sources.
When people first start using the Java Service Wrapper, they are usually interested in how to integrate their application with
the Java Service Wrapper to run as a Service or to have their application monitored.
Once an application is setup and integrated with other systems however, the question of how to shutdown often comes up.
In this Tech Tip, we have gone through the API and collected all of the various ways you can shutdown the Wrapper in one place.
There are probably a few tips which even experienced Wrapper users are not aware.
The Java Service Wrapper provides the ability to schedule a number of actions with timers.
What if your application is suffering from a memory leak which requires the JVM to be restarted at least once per week?
Or if your application needs to be taken down for 10 minutes every night to allow external backups to take place?
Or you may simply want to schedule that some more benign action takes place once every 5 minutes.
In this Tech Tip, we are will introduce you to Wrapper timers, which make it possible to schedule all kinds of
actions in a platform independent way and then deploy them with the rest of your application.
The Java Service Wrapper includes automatic Freeze detection, reporting and recovery.
When a mission critical system starts hanging or freezing,
it can be a nightmare situation for the system administrator, development team,
and everyone who makes use of the system.
Identifying and fixing the problem can take days or even months in some cases.
In the mean time the system is in active use and needs to stay running.
For many organizations, every minute a system is down not only has a direct effect
on sales, but also on the reputation of the organization and teams managing the system.
The Java Service Wrapper is able to detect most JVM freezes very quickly,
restart the application, and then send a report of what happened so a human
administrator can double check to make sure everything is working correctly.
In most cases, this can reduce downtime from hours to seconds so end users are
often not aware that there was ever a problem.
The Java Service Wrapper has the ability to map network drives and printers for your services.
In Windows environments is common for users to map network drives and printers so
they can be accesed by their local system. Windows Services often have the same
requirements, but Windows makes it very difficult for services to access those
shares when the service is launched on system startup. Often services will have
access to shares when started in a running system, but the shares will not be
accessible when the system is rebooted.
The Java Service Wrapper makes it possible to configure and access network drives
and printers reliably without the need for a user to be logged in.
The Java Service Wrapper makes it easy to turn almost any Java application into a Windows Service in minutes.
Java applications running on Windows systems tend to be run in a console
on a Desktop because of Java's lack of the ability to run as a
Windows Service. This has a number of disadvantages; security issues
because a user is logged in, system performance due to the
unwanted Desktop, and the simple risk that a user might press the wrong
key and affect the console, to name a few. Many applications solve these
problems by running as a Windows Service, all without the need to write
a single line of code in most cases.
The Java Service Wrapper includes automatic Deadlock detection, reporting, and recovery.
Most applications go through a series of rigorous tests before being
deployed or released. As we all know however, in the real world
unexpected problems can be encountered. Unfortunately, one common
problem with large multi-threaded applications are deadlocks.
They can be fatal and very difficult to track down and fix.
The Java Service Wrapper includes the ability to automatically monitor
your application for deadlocks in a very light weight way which causes
almost no change in performance. When a deadlock is detected,
the Wrapper is able to immediately respond in the way you want it to.
At the same time, it will also record the precise conditions of the
deadlock so a developer can easily fix it.