o, I forgot to mention, I did restart of mysql server and lenya server.

On Thu, Jan 28, 2010 at 9:48 AM, Gintare Ragaisiene <
[email protected]> wrote:

> ok, now my code looks like this:
>
> But the problem remains the same, no inserted records, and the same timeout
> transaction error message after outside client interaction with db.
>
>
> private void testWithLmps(){
>
>         Connection myConnection = null;
>
>         try {
>
>             ServiceSelector selector = (ServiceSelector)
> manager.lookup(DataSourceComponent.ROLE + "Selector");
>             this.datasource = (DataSourceComponent)
> selector.select("lmps");
>
>             myConnection = this.datasource.getConnection();
>             Statement stmt = myConnection.createStatement();
>
>             String query = "INSERT INTO question VALUES (0,
> 'aaaaaaaaaaaaaa?')";
>             stmt.execute(query);
>
>
>             System.out.println("EditNewsletters q = "+query);
>
>          } catch (SQLException ex) {
>             ex.printStackTrace();
>         } catch (ServiceException ex) {
>             ex.printStackTrace();
>         }finally{
>             if(myConnection != null){
>                 try {
>
>                     myConnection.close();
>                 } catch (SQLException ex) {
>                     ex.printStackTrace();
>                 }
>             }
>         }
>     }
>
>
>
> On Wed, Jan 27, 2010 at 10:33 PM, Michael Wechner <
> [email protected]> wrote:
>
>> Andreas Hartmann wrote:
>>
>>> Am 27.01.10 16:35, schrieb Gintare Ragaisiene:
>>>
>>>> Hi,
>>>>
>>>>   I have problem with communication with my MySQL database. The problem
>>>> is no inserted records in the db after INSERT close executed. When I
>>>> connect with outside client to the same db and try to act it gives me
>>>> "Lock wait timetout exceeded; try restart transaction". I have code :
>>>>
>>>>
>>>      protected void manageDbData(){
>>>>         try {
>>>>             ServiceSelector selector = (ServiceSelector)
>>>> manager.lookup(DataSourceComponent.ROLE + "Selector");
>>>>             this.datasource = (DataSourceComponent)
>>>> selector.select("humana");
>>>>             Connection myConnection = this.datasource.getConnection();
>>>>             Statement stmt = myConnection.createStatement();
>>>>
>>>>             stmt.execute("INSERT INTO email VALUES (0, '[email protected]
>>>> <mailto:[email protected]>')");
>>>>
>>>>             String query = "SELECT * FROM area";
>>>>             ResultSet result = stmt.executeQuery(query);
>>>>             System.out.println("EditNewsletters result =
>>>> "+result.getFetchSize());
>>>>
>>>
>>> Is this code executed?
>>>
>>>
>>>>             stmt.close();
>>>>             myConnection.close();
>>>>
>>>
>>> I'm not too familiar with JDBC, but I'd assume that the close()
>>> statements should go into the finally clause to avoid exhaustion of the
>>> connection pool if exceptions occur.
>>>
>>
>> I can confirm this. You really need to make sure that every connection is
>> being closed no matter what exception happened during the connection,
>> because otherwise your system will be "blocked" quickly
>>
>> Cheers
>>
>> Michael
>>
>>
>>>
>>> BTW, your question is not really related to Lenya, maybe you get better
>>> hints on a more appropriate mailing list (e.g., on the Cocoon user list).
>>>
>>> -- Andreas
>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>

Reply via email to