|
From: Christian M. <chr...@ta...> - 2011-06-10 08:28:12
|
Koen,
Can you try the following:
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=../lib/Csv2Db.jar
wrapper.java.classpath.3=../lib/lib/*.jar
Adding your jar to the class path should already fix your problem.
(I use a wildcard for the other jars just to make it a little bit more
easy to handle the classpath)
The Classloader handling in your application is slightly different
when running with the WrapperJarApp.
You might need to get a little bit changed to actually use:
<Your Class>.class.getClassLoader().
instead of the static way with ClassLoader...
Changing the handling to that way, you wouldn't need to define
Csv2Db.jar in the classpath...
Please let me know if you have any further questions.
Best Regards,
Christian
On Fri, Jun 10, 2011 at 4:45 PM, Koen Stoop <koe...@go...> wrote:
> Hi all,
>
> I wrote a Java Application using Netbeans 7.0 IDE.
> The application monitors a folder for the deletion of a lockfile.
> When this happens the app starts processing by reading a csv-file in the
> monitored folder, and writing the file to a MySQL database using Persistence
> JPA 2.0
>
> This is how the {WRAPPER_HOME} folder looks like:
> <bin>
> csv2db
> wrapper
> <lib>
> Csv2Db.jar
> libwrapper.so
> wrapper.jar
> <lib>
> eclipselink-2.2.0.jar
> eclipselink-javax.persistence-2.0.jar
> jpathwatch-0-94.jar
> mysql-connector-java-5.1.13-bin.jar
> opencsv-2.2.jar
> <logs>
> wrapper.log
> <conf>
> wrapper.conf
>
> when i run the program from the <lib> folder like: "java -jar Csv2Db" all is
> working like it should be.
>
> I can start/stop it as a daemon using WrapperJarApp (Method 4) but when the
> application starts processing the csv-file it gives the following error:
>
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: Encountered
> an error running main:
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error:
> javax.persistence.PersistenceException: No Persistence provider for
> EntityManager named Csv2DbPU
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> javax.persistence.Persistence.createEntityManagerFactory(Unknown Source)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> csv2db.Csv2Db.main(Csv2Db.java:150)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> java.lang.reflect.Method.invoke(Unknown Source)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> org.tanukisoftware.wrapper.WrapperJarApp.run(WrapperJarApp.java:385)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperJarApp Error: at
> java.lang.Thread.run(Unknown Source)
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperManager Debug:
> WrapperManager.stop(1) called by thread: WrapperJarAppMain
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperManager Debug: Send a
> packet STOP : 1
> INFO | jvm 1 | 2011/06/10 08:30:04 | WrapperManager Debug: Stopped
> checking for control events.
> DEBUG | wrapperp | 2011/06/10 08:30:04 | read a packet STOP : 1
> DEBUG | wrapper | 2011/06/10 08:30:04 | JVM requested a shutdown. (1)
> DEBUG | wrapper | 2011/06/10 08:30:04 | wrapperStopProcess(1, FALSE)
> called.
> DEBUG | wrapper | 2011/06/10 08:30:04 | Sending stop signal to JVM
>
> It seems the wrapper can't find the library "eclipselink-2.2.0.jar" but he
> can find the library "jpathwatch-0-94.jar" !?
> What is going wrong ? How can i troubleshoot this ?
>
> Here's my wrapper.conf:
> ===============================================
> #encoding=UTF-8
> # Configuration files must begin with a line specifying the encoding
> # of the the file.
>
> #********************************************************************
> # Wrapper License Properties (Ignored by Community Edition)
> #********************************************************************
> # Professional and Standard Editions of the Wrapper require a valid
> # License Key to start. Licenses can be purchased or a trial license
> # requested on the following pages:
> # http://wrapper.tanukisoftware.com/purchase
> # http://wrapper.tanukisoftware.com/trial
>
> # Include file problems can be debugged by removing the first '#'
> # from the following line:
> #include.debug
>
> # The Wrapper will look for either of the following optional files for a
> # valid License Key. License Key properties can optionally be included
> # directly in this configuration file.
> #include ../conf/wrapper-license.conf
> #include ../conf/wrapper-license-%WRAPPER_HOST_NAME%.conf
>
> # The following property will output information about which License Key(s)
> # are being found, and can aid in resolving any licensing problems.
> #wrapper.license.debug=TRUE
>
> #********************************************************************
> # Wrapper Localization
> #********************************************************************
> # Specify the locale which the Wrapper should use. By default the system
> # locale is used.
> #wrapper.lang=en_US # en_US or ja_JP
>
> # Specify the location of the Wrapper's language resources. If these are
> # missing, the Wrapper will default to the en_US locale.
> wrapper.lang.folder=../lang
>
> #********************************************************************
> # Wrapper Java Properties
> #********************************************************************
> # Java Application
> # Locate the java binary on the system PATH:
> wrapper.java.command=java
> # Specify a specific java binary:
> #set.JAVA_HOME=/java/path
> #wrapper.java.command=%JAVA_HOME%/bin/java
>
> # Tell the Wrapper to log the full generated Java command line.
> wrapper.java.command.loglevel=DEBUG
>
> # Java Main class. This class must implement the WrapperListener interface
> # or guarantee that the WrapperManager class is initialized. Helper
> # classes are provided to do this for you. See the Integration section
> # of the documentation for details.
> wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperJarApp
>
> # Java Classpath (include wrapper.jar) Add class path elements as
> # needed starting from 1
> wrapper.java.classpath.1=/usr/lib/csv2db/lib/wrapper.jar
> wrapper.java.classpath.2=/usr/lib/csv2db/lib/lib/eclipselink-javax.persistence-2.0.jar
> wrapper.java.classpath.3=/usr/lib/csv2db/lib/lib/eclipselink-2.2.0.jar
> wrapper.java.classpath.4=/usr/lib/csv2db/lib/lib/mysql-connector-java-5.1.13-bin.jar
> wrapper.java.classpath.5=/usr/lib/csv2db/lib/lib/jpathwatch-0-94.jar
> wrapper.java.classpath.6=/usr/lib/csv2db/lib/lib/opencsv-2.2.jar
>
> # Java Library Path (location of Wrapper.DLL or libwrapper.so)
> wrapper.java.library.path.1=/usr/lib/csv2db/lib
>
> # Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit
> mode.
> wrapper.java.additional.auto_bits=TRUE
>
> # Java Additional Parameters
> wrapper.java.additional.1=
>
> # Initial Java Heap Size (in MB)
> #wrapper.java.initmemory=3
>
> # Maximum Java Heap Size (in MB)
> #wrapper.java.maxmemory=64
>
> # Application parameters. Add parameters as needed starting from 1
> wrapper.app.parameter.1=/usr/lib/csv2db/lib/Csv2Db.jar
>
> #********************************************************************
> # Wrapper Logging Properties
> #********************************************************************
> # Enables Debug output from the Wrapper.
> wrapper.debug=TRUE
>
> # Format of output for the console. (See docs for formats)
> wrapper.console.format=PM
>
> # Log Level for console output. (See docs for log levels)
> wrapper.console.loglevel=INFO
>
> # Log file to use for wrapper output logging.
> wrapper.logfile=../logs/wrapper.log
>
> # Format of output for the log file. (See docs for formats)
> wrapper.logfile.format=LPTM
>
> # Log Level for log file output. (See docs for log levels)
> wrapper.logfile.loglevel=DEBUG
>
> # Maximum size that the log file will be allowed to grow to before
> # the log is rolled. Size is specified in bytes. The default value
> # of 0, disables log rolling. May abbreviate with the 'k' (kb) or
> # 'm' (mb) suffix. For example: 10m = 10 megabytes.
> wrapper.logfile.maxsize=0
>
> # Maximum number of rolled log files which will be allowed before old
> # files are deleted. The default value of 0 implies no limit.
> wrapper.logfile.maxfiles=0
>
> # Log Level for sys/event log output. (See docs for log levels)
> wrapper.syslog.loglevel=NONE
>
> #********************************************************************
> # Wrapper General Properties
> #********************************************************************
> # Allow for the use of non-contiguous numbered properties
> wrapper.ignore_sequence_gaps=TRUE
>
> # Title to use when running as a console
> wra...@ap...@
>
> #********************************************************************
> # Wrapper JVM Checks
> #********************************************************************
> # Detect DeadLocked Threads in the JVM. (Requires Standard Edition)
> wrapper.check.deadlock=TRUE
> wrapper.check.deadlock.interval=60
> wrapper.check.deadlock.action=RESTART
> wrapper.check.deadlock.output=FULL
>
> # Out Of Memory detection.
> # (Simple match)
> wrapper.filter.trigger.1000=java.lang.OutOfMemoryError
> # (Only match text in stack traces if -XX:+PrintClassHistogram is being
> used.)
> #wrapper.filter.trigger.1000=Exception in thread "*"
> java.lang.OutOfMemoryError
> #wrapper.filter.allow_wildcards.1000=TRUE
> wrapper.filter.action.1000=RESTART
> wrapper.filter.message.1000=The JVM has run out of memory.
>
> #********************************************************************
> # Wrapper Email Notifications. (Requires Professional Edition)
> #********************************************************************
> # Common Event Email settings.
> #wrapper.event.default.email.debug=TRUE
> #wrapper.event.default.email.smtp.host=<SMTP_Host>
> #wrapper.event.default.email.smtp.port=25
> #wrapper.event.default.email.subject=[%WRAPPER_HOSTNAME%:%WRAPPER_NAME%:%WRAPPER_EVENT_NAME%]
> Event Notification
> #wrapper.event.default.email.sender=<Sender email>
> #wrapper.event.default.email.recipient=<Recipient email>
>
> # Configure the log attached to event emails.
> #wrapper.event.default.email.attach_log=TRUE
> #wrapper.event.default.email.maillog.lines=50
> #wrapper.event.default.email.maillog.format=LPTM
> #wrapper.event.default.email.maillog.loglevel=INFO
>
> # Enable specific event emails.
> #wrapper.event.wrapper_start.email=TRUE
> #wrapper.event.jvm_prelaunch.email=TRUE
> #wrapper.event.jvm_start.email=TRUE
> #wrapper.event.jvm_started.email=TRUE
> #wrapper.event.jvm_deadlock.email=TRUE
> #wrapper.event.jvm_stop.email=TRUE
> #wrapper.event.jvm_stopped.email=TRUE
> #wrapper.event.jvm_restart.email=TRUE
> #wrapper.event.jvm_failed_invocation.email=TRUE
> #wrapper.event.jvm_max_failed_invocations.email=TRUE
> #wrapper.event.jvm_kill.email=TRUE
> #wrapper.event.jvm_killed.email=TRUE
> #wrapper.event.jvm_unexpected_exit.email=TRUE
> #wrapper.event.wrapper_stop.email=TRUE
>
> # Specify custom mail content
> wrapper.event.jvm_restart.email.body=The JVM was restarted.\n\nPlease check
> on its status.\n
>
> #********************************************************************
> # Wrapper Windows NT/2000/XP Service Properties
> #********************************************************************
> # WARNING - Do not modify any of these properties when an application
> # using this configuration file has been installed as a service.
> # Please uninstall the service before modifying this section. The
> # service can then be reinstalled.
>
> # Name of the service
> wra...@ap...@
>
> # Display name of the service
> wra...@ap...@
>
> # Description of the service
> wra...@ap...@
>
> # Service dependencies. Add dependencies as needed starting from 1
> wrapper.ntservice.dependency.1=
>
> # Mode in which the service is installed. AUTO_START, DELAY_START or
> DEMAND_START
> wrapper.ntservice.starttype=AUTO_START
>
> # Allow the service to interact with the desktop.
> wrapper.ntservice.interactive=false
>
>
>
> Thanks in advance
>
> Koen
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> Wrapper-user mailing list
> Wra...@li...
> https://lists.sourceforge.net/lists/listinfo/wrapper-user
>
>
|