|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.uadetector.parser.AbstractUserAgentStringParser net.sf.uadetector.parser.UserAgentStringParserImpl<RefreshableDataStore> net.sf.uadetector.parser.UpdatingUserAgentStringParserImpl
public final class UpdatingUserAgentStringParserImpl
This parser checks once per day if newer data are available. When newer data are available, they will be loaded, read and replaced by the current one.
Field Summary | |
---|---|
static long |
DEFAULT_UPDATE_INTERVAL
The default interval to check for updates is once per day |
Constructor Summary | |
---|---|
UpdatingUserAgentStringParserImpl(RefreshableDataStore store)
Constructs an instance of OnlineUserAgentStringParser . |
Method Summary | |
---|---|
long |
getUpdateInterval()
Gets the current update interval in milliseconds. |
void |
setUpdateInterval(long updateInterval)
Sets a new update interval in milliseconds. |
void |
shutdown()
In environments where the JVM will never shut down while reinstalling UADetector, it is necessary to manually shutdown running threads of UserAgentStringParser s with updating functionality like
UADetectorServiceFactory.getCachingAndUpdatingParser() or
UADetectorServiceFactory.getOnlineUpdatingParser() . |
Methods inherited from class net.sf.uadetector.parser.UserAgentStringParserImpl |
---|
getDataStore |
Methods inherited from class net.sf.uadetector.parser.AbstractUserAgentStringParser |
---|
getDataVersion, parse |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final long DEFAULT_UPDATE_INTERVAL
Constructor Detail |
---|
public UpdatingUserAgentStringParserImpl(RefreshableDataStore store)
OnlineUserAgentStringParser
. During construction new UAS data will be queried
online by the given URL
s.
store
- DataStore
with reference UAS data used in fallback case
net.sf.qualitycheck.exception.IllegalNullArgumentException
- if one of the given arguments is null
Method Detail |
---|
public long getUpdateInterval()
public void setUpdateInterval(@Nonnegative long updateInterval)
updateInterval
- update interval in milliseconds
net.sf.qualitycheck.exception.IllegalNegativeArgumentException
- if the given update interval is less than 0@PreDestroy public void shutdown()
UserAgentStringParser
UserAgentStringParser
s with updating functionality like
UADetectorServiceFactory.getCachingAndUpdatingParser()
or
UADetectorServiceFactory.getOnlineUpdatingParser()
.
For example, if a web application with UADetector will be re-deployed within an Apache Tomcat you must
shutdown your self-created or via UADetectorServiceFactory
retrieved updating
UserAgentStringParser
otherwise more and more threads will be registered.
An implementation of UserAgentStringParser
has updating functionality if it works with a
RefreshableDataStore
.
If you call shutdown on a non-updating UserAgentStringParser
implementation nothing will happen.
A number of Dependency Injection containers support the annotation PreDestroy
which is be useful for
indicating methods that should be called when the container is shutting down. This annotation is available by
default in Java SE 7 and can be made available through the external library jsr250-api-1.0.jar for earlier
versions of Java.
We recommend to annotate an implementation of UserAgentStringParser.shutdown()
with PreDestroy
to inform a container
(for example Spring Framework) to trigger the shutdown method automatically by convention during the
shutdown lifecycle. This saves developers to call explicitly the shutdown method.
To shutdown all managed ExecutorService
by UADetector at once, you can call also
ExecutorServices.shutdownAll()
.
shutdown
in interface UserAgentStringParser
shutdown
in class AbstractUserAgentStringParser
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |