You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Olivier Lamy (*$^¨%`£ JIRA)" <ji...@apache.org> on 2013/10/21 03:44:41 UTC
[jira] [Commented] (KARAF-2523) Karaf JDBC lock doesn't word with
M$ SQLServer
[ https://issues.apache.org/jira/browse/KARAF-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800300#comment-13800300 ]
Olivier Lamy (*$^¨%`£) commented on KARAF-2523:
-----------------------------------------------
Got it working creating the class (NOTE: as methods are package private the class need to be in the package org.apache.karaf.main)
Class:
public class MSSqlJdbcLock
extends DefaultJDBCLock
{
public MSSqlJdbcLock( Properties props )
{
super( props );
}
Statements createStatements()
{
Statements statements = new MSSqlStatements();
return statements;
}
private class MSSqlStatements
extends Statements
{
public String getLockCreateStatement()
{
return "SELECT * FROM " + getFullLockTableName();
}
}
}
> Karaf JDBC lock doesn't word with M$ SQLServer
> ----------------------------------------------
>
> Key: KARAF-2523
> URL: https://issues.apache.org/jira/browse/KARAF-2523
> Project: Karaf
> Issue Type: Bug
> Components: karaf-core
> Affects Versions: 2.3.0
> Reporter: Jean-Baptiste Onofré
> Assignee: Jean-Baptiste Onofré
> Fix For: 2.4.0, 3.0.0, 2.3.4
>
>
> Using the M$ SQLServer (with jtds) as lock backend (and the Karaf default JDBC lock implementation) with this configuration:
> #setup in system.properties
>
> karaf.lock=true
> karaf.lock.class=org.apache.karaf.main.DefaultJDBCLock
> karaf.lock.level=50
> karaf.lock.delay=10
> karaf.lock.jdbc.url=jdbc:jtds:sqlserver://xxx;databaseName=evillarr
> karaf.lock.jdbc.driver=net.sourceforge.jtds.jdbc.Driver
> karaf.lock.jdbc.user=xxx
> karaf.lock.jdbc.password=xxx
> karaf.lock.jdbc.table=KARAF_LOCK
> karaf.lock.jdbc.clustername=karaf
> karaf.lock.jdbc.timeout=30
>
> Karaf doesn't start because it can't acquire the lock:
>
> 2013-10-21 09:47:42 | WARN | Thread-28 | - - | Failed to acquire database lock: java.sql.SQLException: Line 1: FOR UPDATE clause allowed only for DECLARE CURSOR.
> As SQLServer doesn't support the "select ... for update" statement, we have to provide a MSSQLServerLock implementation using a different SQL query.
--
This message was sent by Atlassian JIRA
(v6.1#6144)