users@cargotracker.java.net

Re: Unable to deploy

From: Reza Rahman <reza.rahman_at_oracle.com>
Date: Mon, 7 Oct 2013 19:04:12 -0400

Excellent - thanks so much!

Sent from my iPhone

> On Oct 7, 2013, at 6:43 PM, David Heffelfinger <dheffelfinger_at_gmail.com> wrote:
>
> I had a few minutes to spare, so I grabbed the latest code from SVN (revision 128), did a clean build and deployed, everything worked fine. The database was created properly under /tmp (logged in as a regular user, non-admin account).
>
> David
>
>
>> On Mon, Oct 7, 2013 at 12:32 PM, Reza Rahman <Reza.Rahman_at_oracle.com> wrote:
>> Just tested things out on Linux - /tmp seems to work well. I have already checked in my changes and the download is refreshed too.
>>
>> The problem with ${user.home} is that on Windows it turns out to be a pretty unintuitive location, so /tmp is a good compromise. It also works well with the intent of the database in our application.
>>
>> If you can give things a spin when you get a chance just to make sure, it'll be great. The unit testing that also uses /tmp is now active.
>>
>>> On 10/5/2013 1:19 PM, David Heffelfinger wrote:
>>> I know I said I was busy, but I had an idea and had to try it, otherwise I wouldn't be able to focus on what I really should be doing.
>>>
>>> I changed pom.xml to read:
>>>
>>> <webapp.databaseTempDir>${user.home}/temp</webapp.databaseTempDir>
>>>
>>> So that the "temp" directory would be created under my home directory instead of under the root directory.
>>>
>>> Did a clean built and redeployed and everything worked as expected. a "temp" directory was created under my home directory containing the database.
>>>
>>> Maybe we should make this change permanently? Everybody should have write permissions to their own home directory, this way we avoid permissions issue on operating systems other than Windows.
>>>
>>> Now for real, I have work, that needs to get done.
>>>
>>> David
>>>
>>>
>>> On Sat, Oct 5, 2013 at 1:05 PM, Reza Rahman <Reza.Rahman_at_oracle.com> wrote:
>>>> Inline...
>>>>
>>>>
>>>> On 10/5/2013 12:56 PM, David Heffelfinger wrote:
>>>>> Makes sense that changing pom.xml should be the only change needed to change the database location. I was surprised when the problem persisted after making the change.
>>>>>
>>>>> I cleaned and built a few times just to make sure, the problem persisted, maybe GlassFish is seeing an old version of the war file somewhere?
>>>> Another GF/NB bug maybe?
>>>>
>>>>>
>>>>> I'll try changing the values for "databaseTempDir"
>>>>> when I get a chance. I'm kind of swamped with
>>>>> other stuff at the moment.
>>>> No worries, take your time. I'll see if I can get a Linux instance up and running on my end.
>>>>
>>>>>
>>>>>
>>>>>
>>>>> David
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> On Sat, Oct 5, 2013 at 12:51 PM, Reza Rahman <Reza.Rahman_at_oracle.com> wrote:
>>>>>> The previous problem you were having was very likely a GlassFish bug. The promoted version of GlassFish you are running also has knows bugs that we've documented on the site FYI.
>>>>>>
>>>>>> To change the database location, all you should need to do is change the <webapp.databaseTempDir>
>>>>>>
>>>>>>
>>>>>> entry in pom.xml and rebuild. The
>>>>>> test-web.xml entry is used only for
>>>>>> tests.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Could you kindly try out different
>>>>>> values for 'databaseTempDir' and see if something can work without needing to muck with permissions/creating directories? Otherwise, we really need to add this to our setup instructions ASAP: https://java.net/projects/cargotracker/pages/NetBeans. I would do this myself but I'll take me a while to get a Linux/UNIX version up and running...
>>>>>>
>>>>>>
>>>>>> On 10/5/2013 12:36 PM, David Heffelfinger wrote:
>>>>>>> Better, but not a flawless experience.
>>>>>>>
>>>>>>> Originally I got an exception:
>>>>>>>
>>>>>>> java.sql.SQLException: Failed to create database '/temp/cargo-tracker-database', see the next exception for details.
>>>>>>>
>>>>>>> at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
>>>>>>>
>>>>>>> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I'm
>>>>>>> on a Linux system, not
>>>>>>> running as root, and there
>>>>>>> is no /temp directory, so I
>>>>>>> changed the following line
>>>>>>> in pom.xml:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> <webapp.databaseTempDir>/temp</webapp.databaseTempDir>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> to
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> <webapp.databaseTempDir>/tmp</webapp.databaseTempDir>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Then
>>>>>>>
>>>>>>> changed the following line
>>>>>>> in test-web.xml
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> <url>jdbc:derby:/temp/test/cargo-tracker-database;create=true</url>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> to
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> <url>jdbc:derby:/tmp/test/cargo-tracker-database;create=true</url>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Rebuilt and redeployed, but
>>>>>>> I was still getting the
>>>>>>> exception, I searched all
>>>>>>> over the code for references
>>>>>>> to "/temp" but couldn't find
>>>>>>> any.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> As
>>>>>>> a workaround I sudo'ed to
>>>>>>> root, created /temp and
>>>>>>> chmod'ed it 777, and was
>>>>>>> finally able to deploy.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> FWIW,
>>>>>>>
>>>>>>> this is the version of
>>>>>>> GlassFish I downloaded:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/latest-glassfish.zip
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Added it to NetBeans ("Services" tab, right click "Servers" | "Add Server")
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> David
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On Sat, Oct 5, 2013 at 12:05 PM, Reza Rahman <reza.rahman_at_oracle.com> wrote:
>>>>>>>> Could you kindly try the nightly build of GlassFish 4 and tell me what happens?
>>>>>>>>
>>>>>>>> Sent from my iPhone
>>>>>>>>
>>>>>>>> On Oct 5, 2013, at 12:01 PM, David Heffelfinger <dheffelfinger_at_gmail.com> wrote:
>>>>>>>>
>>>>>>>>> All,
>>>>>>>>>
>>>>>>>>> I got the latest source code from SVN as of this morning (revision 123).
>>>>>>>>>
>>>>>>>>> I loaded the project into NetBeans 7.4 RC2, and built it without a problem.
>>>>>>>>>
>>>>>>>>> I then attempted to deploy and run the project to GlassFish 4 (included with NetBeans), but was unsuccessful, I got a NoClassDefFoundError.
>>>>>>>>>
>>>>>>>>> Here is a partial stack trace:
>>>>>>>>>
>>>>>>>>> SEVERE: Exception while preparing the app : java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.EmbeddedDriver
>>>>>>>>> java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.EmbeddedDriver
>>>>>>>>>
>>>>>>>>> at java.lang.Class.forName0(Native Method)
>>>>>>>>>
>>>>>>>>> at java.lang.Class.forName(Class.java:188)
>>>>>>>>>
>>>>>>>>> at com.sun.gjc.spi.DMManagedConnectionFactory.createManagedConnection(DMManagedConnectionFactory.java:114)
>>>>>>>>>
>>>>>>>>> at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)
>>>>>>>>>
>>>>>>>>> at com.sun.enterprise.resource.pool.ConnectionPool.createSingleResource(ConnectionPool.java:907)
>>>>>>>>>
>>>>>>>>> at com.sun.enterprise.resource.pool.ConnectionPool.createResource(ConnectionPool.java:1189)
>>>>>>>>>
>>>>>>>>> at com.sun.enterprise.resource.pool.datastructure.RWLockDataStructure.addResource(RWLockDataStructure.java:98)
>>>>>>>>>
>>>>>>>>> I made sure I had derby.jar under .../domain1/lib but the problem persists.
>>>>>>>>>
>>>>>>>>> I would look deeper into it but unfortunately I'm busy with some other stuff.
>>>>>>>>>
>>>>>>>>> Is this a known issue or am I missing something here?
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> David
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> http://ensode.net - A Guide to Java, Linux and Other Technology Topics
>>>>>>>>> My Books: http://www.packtpub.com/authors/profiles/david-heffelfinger
>>>>>>>>> My Video Training: http://www.packtpub.com/java-ee-development-with-netbeans-7/video
>>>>>>>>> Follow me on Twitter: https://twitter.com/ensode
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> http://ensode.net - A Guide to Java, Linux and Other Technology Topics
>>>>>>> My Books: http://www.packtpub.com/authors/profiles/david-heffelfinger
>>>>>>> My Video Training: http://www.packtpub.com/java-ee-development-with-netbeans-7/video
>>>>>>> Follow me on Twitter: https://twitter.com/ensode
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> http://ensode.net - A Guide to Java, Linux and Other Technology Topics
>>>>> My Books: http://www.packtpub.com/authors/profiles/david-heffelfinger
>>>>> My Video Training: http://www.packtpub.com/java-ee-development-with-netbeans-7/video
>>>>> Follow me on Twitter: https://twitter.com/ensode
>>>
>>>
>>>
>>> --
>>> http://ensode.net - A Guide to Java, Linux and Other Technology Topics
>>> My Books: http://www.packtpub.com/authors/profiles/david-heffelfinger
>>> My Video Training: http://www.packtpub.com/java-ee-development-with-netbeans-7/video
>>> Follow me on Twitter: https://twitter.com/ensode
>
>
>
> --
> http://ensode.net - A Guide to Java, Linux and Other Technology Topics
> My Books: http://www.packtpub.com/authors/profiles/david-heffelfinger
> My Video Training: http://www.packtpub.com/java-ee-development-with-netbeans-7/video
> Follow me on Twitter: https://twitter.com/ensode