Re: Probjems in communication with DB

Gintare Ragaisiene <[email protected]>
Newsgroups gmane.comp.cms.lenya.user
Message-ID <[email protected]>
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]
>>
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.