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<http://dlc.sun.com.edgesuite.net/glassfish/4.0/promoted/>
>>>
>>> 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