You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-user@db.apache.org by Stanczak Group <ju...@stanczakgroup.com> on 2006/07/23 03:31:28 UTC

Re: Embedded in Servlet on Tomcat? Possible Toplink Issue

I'm still toying with this trying to figure out what's wrong. I may have 
found something. Seems when I setup HSQL I get the same error. So it 
looks like this is possibly a Toplink issue and not Derby. I'm going to 
attempt the system property part and see if that fixes it. I've not used 
Derby with Hibernate Entity manager, but I have used it on my other apps 
and it doesn't do it under Hibernate.

Stanczak Group wrote:
> I guess what I was thinking is when one says embed, and supplies an 
> embed driver that means it's embedded and doesn't write to places 
> other then where you tell it. If I where to set that variable then all 
> my other apps would also start using it too. With small apps it's 
> easiest to just have it write to a place in the web application 
> structure.
>
> Paul J DeCoursey wrote:
>> Stanczak Group wrote:
>>> When I say absolute I mean in the connection parameters. That's the 
>>> only thing that Derby specific. I'm using Toplink with JPA.
>>>
>>> Stanley Bradbury wrote:
>>>>
>>>>>
>>>>>
>>>> Hi Paul -
>>>>
>>>> Sounds like you have a lot of experience in the area.  Your 
>>>> architecture seems beyond my experience but I did notice something 
>>>> I missed in my first read that might be of help.  You wrote:
>>>>
>>>> "..I have an absolute path set, but it still does it. Shouldn't it 
>>>> write everything to that path and not just start writing to where 
>>>> ever it decides home is? .."
>>>>
>>>> Derby writes the logfile to derby.system.home (this also serves as 
>>>> the ROOT directory for any relative path references).  If this is 
>>>> not explicitly set prior to loading the Derby driver the value 
>>>> defaults to the default directory for the JVM.  Derby's view of the 
>>>> world is from the JVM perspective, not the server or application 
>>>> that starts it.  I assume the 'absolute path' you set is an 
>>>> application or server property?
>>>>
>>>> Anyway, a possible solution for you might be to set 
>>>> derby.system.home to an appropriate location (the absolute path?) 
>>>> prior to loading the Derby driver.
>>>>
>>>> HTH
>>>>
>>>>
>>>
>> I'm not really familiar with Toplink with JPA, but I'm thinking that 
>> Stanley Bradbury is correct.  You need to get derby.system.home set 
>> to a writable directory.  If possible you can try to set it using the 
>> -Dderby.system.home=<path to a writable directory> option in your 
>> startup script (HINT: environment variable TOMCAT_OPTS). I'm not sure 
>> of any other way to ensure that that gets set prior to Derby loading.
>>
>> In searching I found this... something I have not tried, but worth a 
>> look...
>> http://www.velocityreviews.com/forums/t144344-tomcat-50-setting-system-properties-for-an-application.html 
>>
>>
>>
>> Good luck,
>>
>> Paul
>>
>>
>>
>>
>>
>

-- 
Justin Stanczak
Stanczak Group
812-735-3600

"All that is necessary for the triumph of evil is that good men do nothing."
Edmund Burke

..________...............__.................
./  _____/..____..._____/..|_..____...____....
/...\..____/.__.\./....\...__\/.._.\./._..\....
\....\_\..\..___/|...|..\..|.(..<_>.|.<_>..)....
.\______../\___.._\__|../__|..\____/.\____/......
........\/.....\/.....\/..........................


Re: Embedded in Servlet on Tomcat? Toplink was the problem.

Posted by Stanczak Group <ju...@stanczakgroup.com>.
Imagine that, Oracle product was the problem. I replaced Toplink with 
Hibernate and Derby works just fine. Didn't have a thing to do with 
Derby. Thanks all and sorry for the mistake.

Stanczak Group wrote:
> Trying it with the -Dderby.system.home option causes the derby.log to 
> show in that spot, but the error still comes up. This has got to be a 
> Toplink issue. I'll go that direction now. Thanks.
>
> Stanczak Group wrote:
>> I'm still toying with this trying to figure out what's wrong. I may 
>> have found something. Seems when I setup HSQL I get the same error. 
>> So it looks like this is possibly a Toplink issue and not Derby. I'm 
>> going to attempt the system property part and see if that fixes it. 
>> I've not used Derby with Hibernate Entity manager, but I have used it 
>> on my other apps and it doesn't do it under Hibernate.
>>
>> Stanczak Group wrote:
>>> I guess what I was thinking is when one says embed, and supplies an 
>>> embed driver that means it's embedded and doesn't write to places 
>>> other then where you tell it. If I where to set that variable then 
>>> all my other apps would also start using it too. With small apps 
>>> it's easiest to just have it write to a place in the web application 
>>> structure.
>>>
>>> Paul J DeCoursey wrote:
>>>> Stanczak Group wrote:
>>>>> When I say absolute I mean in the connection parameters. That's 
>>>>> the only thing that Derby specific. I'm using Toplink with JPA.
>>>>>
>>>>> Stanley Bradbury wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Hi Paul -
>>>>>>
>>>>>> Sounds like you have a lot of experience in the area.  Your 
>>>>>> architecture seems beyond my experience but I did notice 
>>>>>> something I missed in my first read that might be of help.  You 
>>>>>> wrote:
>>>>>>
>>>>>> "..I have an absolute path set, but it still does it. Shouldn't 
>>>>>> it write everything to that path and not just start writing to 
>>>>>> where ever it decides home is? .."
>>>>>>
>>>>>> Derby writes the logfile to derby.system.home (this also serves 
>>>>>> as the ROOT directory for any relative path references).  If this 
>>>>>> is not explicitly set prior to loading the Derby driver the value 
>>>>>> defaults to the default directory for the JVM.  Derby's view of 
>>>>>> the world is from the JVM perspective, not the server or 
>>>>>> application that starts it.  I assume the 'absolute path' you set 
>>>>>> is an application or server property?
>>>>>>
>>>>>> Anyway, a possible solution for you might be to set 
>>>>>> derby.system.home to an appropriate location (the absolute path?) 
>>>>>> prior to loading the Derby driver.
>>>>>>
>>>>>> HTH
>>>>>>
>>>>>>
>>>>>
>>>> I'm not really familiar with Toplink with JPA, but I'm thinking 
>>>> that Stanley Bradbury is correct.  You need to get 
>>>> derby.system.home set to a writable directory.  If possible you can 
>>>> try to set it using the -Dderby.system.home=<path to a writable 
>>>> directory> option in your startup script (HINT: environment 
>>>> variable TOMCAT_OPTS). I'm not sure of any other way to ensure that 
>>>> that gets set prior to Derby loading.
>>>>
>>>> In searching I found this... something I have not tried, but worth 
>>>> a look...
>>>> http://www.velocityreviews.com/forums/t144344-tomcat-50-setting-system-properties-for-an-application.html 
>>>>
>>>>
>>>>
>>>> Good luck,
>>>>
>>>> Paul
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>

-- 
Justin Stanczak
Stanczak Group
812-735-3600

"All that is necessary for the triumph of evil is that good men do nothing."
Edmund Burke

..________...............__.................
./  _____/..____..._____/..|_..____...____....
/...\..____/.__.\./....\...__\/.._.\./._..\....
\....\_\..\..___/|...|..\..|.(..<_>.|.<_>..)....
.\______../\___.._\__|../__|..\____/.\____/......
........\/.....\/.....\/..........................


Re: Embedded in Servlet on Tomcat? Possible Toplink Issue

Posted by Stanczak Group <ju...@stanczakgroup.com>.
Trying it with the -Dderby.system.home option causes the derby.log to 
show in that spot, but the error still comes up. This has got to be a 
Toplink issue. I'll go that direction now. Thanks.

Stanczak Group wrote:
> I'm still toying with this trying to figure out what's wrong. I may 
> have found something. Seems when I setup HSQL I get the same error. So 
> it looks like this is possibly a Toplink issue and not Derby. I'm 
> going to attempt the system property part and see if that fixes it. 
> I've not used Derby with Hibernate Entity manager, but I have used it 
> on my other apps and it doesn't do it under Hibernate.
>
> Stanczak Group wrote:
>> I guess what I was thinking is when one says embed, and supplies an 
>> embed driver that means it's embedded and doesn't write to places 
>> other then where you tell it. If I where to set that variable then 
>> all my other apps would also start using it too. With small apps it's 
>> easiest to just have it write to a place in the web application 
>> structure.
>>
>> Paul J DeCoursey wrote:
>>> Stanczak Group wrote:
>>>> When I say absolute I mean in the connection parameters. That's the 
>>>> only thing that Derby specific. I'm using Toplink with JPA.
>>>>
>>>> Stanley Bradbury wrote:
>>>>>
>>>>>>
>>>>>>
>>>>> Hi Paul -
>>>>>
>>>>> Sounds like you have a lot of experience in the area.  Your 
>>>>> architecture seems beyond my experience but I did notice something 
>>>>> I missed in my first read that might be of help.  You wrote:
>>>>>
>>>>> "..I have an absolute path set, but it still does it. Shouldn't it 
>>>>> write everything to that path and not just start writing to where 
>>>>> ever it decides home is? .."
>>>>>
>>>>> Derby writes the logfile to derby.system.home (this also serves as 
>>>>> the ROOT directory for any relative path references).  If this is 
>>>>> not explicitly set prior to loading the Derby driver the value 
>>>>> defaults to the default directory for the JVM.  Derby's view of 
>>>>> the world is from the JVM perspective, not the server or 
>>>>> application that starts it.  I assume the 'absolute path' you set 
>>>>> is an application or server property?
>>>>>
>>>>> Anyway, a possible solution for you might be to set 
>>>>> derby.system.home to an appropriate location (the absolute path?) 
>>>>> prior to loading the Derby driver.
>>>>>
>>>>> HTH
>>>>>
>>>>>
>>>>
>>> I'm not really familiar with Toplink with JPA, but I'm thinking that 
>>> Stanley Bradbury is correct.  You need to get derby.system.home set 
>>> to a writable directory.  If possible you can try to set it using 
>>> the -Dderby.system.home=<path to a writable directory> option in 
>>> your startup script (HINT: environment variable TOMCAT_OPTS). I'm 
>>> not sure of any other way to ensure that that gets set prior to 
>>> Derby loading.
>>>
>>> In searching I found this... something I have not tried, but worth a 
>>> look...
>>> http://www.velocityreviews.com/forums/t144344-tomcat-50-setting-system-properties-for-an-application.html 
>>>
>>>
>>>
>>> Good luck,
>>>
>>> Paul
>>>
>>>
>>>
>>>
>>>
>>
>

-- 
Justin Stanczak
Stanczak Group
812-735-3600

"All that is necessary for the triumph of evil is that good men do nothing."
Edmund Burke

..________...............__.................
./  _____/..____..._____/..|_..____...____....
/...\..____/.__.\./....\...__\/.._.\./._..\....
\....\_\..\..___/|...|..\..|.(..<_>.|.<_>..)....
.\______../\___.._\__|../__|..\____/.\____/......
........\/.....\/.....\/..........................