Skip to content
Snippets Groups Projects
Commit a9111f52 authored by Gwenaelle ABEILLE's avatar Gwenaelle ABEILLE
Browse files

release

parent de3010ce
No related branches found
No related merge requests found
......@@ -2,7 +2,6 @@
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
<classpathentry excluding="**" including="**/*.java" kind="src" output="target/classes" path="src/main/resources"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
<classpathentry kind="output" path="target/classes"/>
......
......@@ -27,11 +27,4 @@
<nature>org.devzuz.q.maven.jdt.core.mavenNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
<linkedResources>
<link>
<name>ArchivingConf</name>
<type>2</type>
<location>C:/SOLEIL_ROOT/tango-soleil-win32-5.5.8RC3/tango/bin/ArchivingConf</location>
</link>
</linkedResources>
</projectDescription>
......@@ -13,7 +13,7 @@
<artifactId>hdbtdbArchivingServers</artifactId>
<name>hdbtdbArchivingServers</name>
<version>2.2.15</version>
<version>2.2.16</version>
<scm>
<connection>${scm.connection.svn.tango-cs}:archiving/server/hdbtdbArchivingServers</connection>
......
......@@ -365,6 +365,7 @@ import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;
import java.util.concurrent.Executors;
import org.omg.CORBA.SystemException;
import org.omg.CORBA.UserException;
......@@ -640,26 +641,8 @@ public class HdbArchiver extends DeviceImpl implements TangoConst {
get_logger().error("ERROR : Database unconnected !!");
} else {
setControlMode(safetyPeriod);
try {
final Vector<AttributeLightMode> myCurrentTasks = dbProxy.getArchiverCurrentTasks(device_name);
if (myCurrentTasks.size() > 0) {
final ArchivingMessConfig archivingMessConfig = ArchivingMessConfig.basicObjectCreation();
for (final AttributeLightMode attributeLightMode : myCurrentTasks) {
archivingMessConfig.add(attributeLightMode);
}
launchStartArchivingTask(archivingMessConfig, false, false);
} else {
TangoStateUtils.setOn(this, archivingStatus);
}
} catch (final ArchivingException e) {
TangoStateUtils.setFault(this, e.getMessage());
get_logger().error(e.toString());
Util.out2.println(e.toString());
} catch (final DevFailed devFailed) {
final String message = DBTools.getCompleteMessage(devFailed);
get_logger().error(message);
TangoStateUtils.setFault(this, message);
}
// start archiving in a thread
Executors.newSingleThreadExecutor().submit(new InitDeviceTask());
}
}
......@@ -683,6 +666,29 @@ public class HdbArchiver extends DeviceImpl implements TangoConst {
}
}
private class InitDeviceTask implements Runnable {
@Override
public void run() {
try {
final Vector<AttributeLightMode> myCurrentTasks = dbProxy.getArchiverCurrentTasks(device_name);
if (myCurrentTasks.size() > 0) {
final ArchivingMessConfig archivingMessConfig = ArchivingMessConfig.basicObjectCreation();
for (final AttributeLightMode attributeLightMode : myCurrentTasks) {
archivingMessConfig.add(attributeLightMode);
}
triggerArchiving(archivingMessConfig.toArray(), false);
} else {
TangoStateUtils.setOn(HdbArchiver.this, archivingStatus);
}
} catch (final DevFailed devFailed) {
// triggerArchiving has thrown
TangoStateUtils.setDisable(HdbArchiver.this, archivingStatus);
} catch (ArchivingException e) {
TangoStateUtils.setFault(HdbArchiver.this, e.getMessage());
}
}
}
private class StartArchivingRunnable implements Runnable {
private final ArchivingMessConfig archivingMessConfig;
......
......@@ -69,6 +69,7 @@ package TdbArchiver.Collector;
import java.util.Vector;
import fr.esrf.Tango.DevFailed;
import fr.esrf.TangoApi.Database;
import fr.esrf.TangoDs.Util;
import fr.soleil.commonarchivingapi.ArchivingTools.Diary.ILogger;
......@@ -166,19 +167,13 @@ public class DbProxy {
tableName, writable);
}
public Vector<AttributeLightMode> getArchiverCurrentTasks(final String archiverName) // throws
// ArchivingException
// , DevFailed
{
public Vector<AttributeLightMode> getArchiverCurrentTasks(final String archiverName) throws DevFailed,
ArchivingException {
// System.out.println("DbProxy.getArchiverCurrentTasks");
Vector<AttributeLightMode> archiverCurrentTasks;
final boolean facility = manager.getFacility();
try {
archiverCurrentTasks = manager
.getDataBase()
.getMode()
.getArchiverCurrentTasks(
(facility ? "//" + new Database().get_tango_host() + "/" : "") + archiverName);
archiverCurrentTasks = manager.getDataBase().getMode()
.getArchiverCurrentTasks((facility ? "//" + new Database().get_tango_host() + "/" : "") + archiverName);
System.out.println("Current Tasks (" + archiverCurrentTasks.size() + "): .... \n\r\t");
for (int i = 0; i < archiverCurrentTasks.size(); i++) {
final AttributeLightMode attributeLightMode = archiverCurrentTasks.elementAt(i);
......@@ -186,24 +181,7 @@ public class DbProxy {
System.out.println("attributeLightMode.toString() : \r\n" + attributeLightMode.toString() + "\r\n");
}
return archiverCurrentTasks;
}
/*
* catch ( ArchivingException e ) { System.err.println("ERROR !! " +
* "\r\n" + "\t Origin : \t " + "DbProxy.getArchiverCurrentTasks" +
* "\r\n" + "\t Reason : \t " + e.getClass().getName() + "\r\n" +
* "\t Description : \t " + e.getMessage() + "\r\n" +
* "\t Additional information : \t " + "Unable to get current tasks..."
* + "\r\n"); throw e; } catch ( DevFailed devFailed ) {
* Util.out2.println("ERROR !! " + "\r\n" + "\t Origin : \t " +
* "DbProxy.getArchiverCurrentTasks" + "\r\n" + "\t Reason : \t " +
* "UNKNOWN_ERROR" + "\r\n" + "\t Description : \t " +
* devFailed.getMessage() + "\r\n" + "\t Additional information : \t " +
* "" + "\r\n"); throw devFailed; }
*/
catch (final Exception e) {
e.printStackTrace();
return null;
}
}
public void deleteOldRecords(final long time, final String[] attributeList) throws ArchivingException {
......
......@@ -392,6 +392,7 @@ import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import java.util.Vector;
import java.util.concurrent.Executors;
import org.omg.CORBA.SystemException;
import org.omg.CORBA.UserException;
......@@ -652,24 +653,7 @@ public class TdbArchiver extends DeviceImpl implements TangoConst {
TangoStateUtils.setFault(this, "database connection error");
get_logger().error("ERROR : Database unconnected !!");
} else {
try {
final Vector<AttributeLightMode> myCurrentTasks = dbProxy.getArchiverCurrentTasks(device_name);
if (myCurrentTasks != null && myCurrentTasks.size() > 0) {
final ArchivingMessConfig archivingMessConfig = ArchivingMessConfig.basicObjectCreation();
for (int i = 0; i < myCurrentTasks.size(); i++) {
archivingMessConfig.add(myCurrentTasks.elementAt(i));
}
final boolean forceThreadedMode = false;
startArchiving(archivingMessConfig, forceThreadedMode, false);
} else {
TangoStateUtils.setOn(this, archivingStatus);
}
} catch (final DevFailed devFailed) {
final String message = DBTools.getCompleteMessage(devFailed);
get_logger().error(message);
TangoStateUtils.setFault(this, message);
}
Executors.newSingleThreadExecutor().submit(new InitDeviceTask());
}
}
......@@ -708,6 +692,29 @@ public class TdbArchiver extends DeviceImpl implements TangoConst {
}
}
private class InitDeviceTask implements Runnable {
@Override
public void run() {
try {
final Vector<AttributeLightMode> myCurrentTasks = dbProxy.getArchiverCurrentTasks(device_name);
if (myCurrentTasks.size() > 0) {
final ArchivingMessConfig archivingMessConfig = ArchivingMessConfig.basicObjectCreation();
for (final AttributeLightMode attributeLightMode : myCurrentTasks) {
archivingMessConfig.add(attributeLightMode);
}
triggerArchiving(archivingMessConfig.toArray(), false);
} else {
TangoStateUtils.setOn(TdbArchiver.this, archivingStatus);
}
} catch (final DevFailed devFailed) {
// triggerArchiving has thrown
TangoStateUtils.setDisable(TdbArchiver.this, archivingStatus);
} catch (ArchivingException e) {
TangoStateUtils.setFault(TdbArchiver.this, e.getMessage());
}
}
}
private class StartArchivingRunnable implements Runnable {
private final ArchivingMessConfig archivingMessConfig;
private final boolean updateAMTTable;
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<!-- An example log4j configuration xml file for log4jdbc -->
<!-- Logging levels are: -->
<!-- DEBUG < INFO < WARN < ERROR < FATAL -->
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout-appender" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p %c{1}: %m%n"/>
</layout>
</appender>
<appender name="sql-appender" class="org.apache.log4j.FileAppender">
<param name="File" value="./logs/sql.log"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="-----&gt; %d{yyyy-MM-dd HH:mm:ss.SSS} &lt;%t&gt; %m%n%n"/>
</layout>
</appender>
<appender name="sql-timing-appender" class="org.apache.log4j.FileAppender">
<param name="File" value="./logs/sqltiming.log"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="-----&gt; %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n"/>
</layout>
</appender>
<appender name="jdbc-appender" class="org.apache.log4j.FileAppender">
<param name="File" value="./logs/jdbc.log"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n"/>
</layout>
</appender>
<appender name="jdbc-connection" class="org.apache.log4j.FileAppender">
<param name="File" value="./logs/connection.log"/>
<param name="Append" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n"/>
</layout>
</appender>
<!--
The Following 5 logs can be turned on and off while the server is running
LIVE in order to trace the SQL and/or all JDBC coming out of the application.
To turn a log on, set the level value to INFO or DEBUG (to see class name and
line number information in the log) The DEBUG setting is much more inefficient
but the output is much more useful.
To turn off JDBC logging completely, you must set all 5 logs to a level higher
than ERROR (FATAL is suggested.)
-->
<!-- log SQL (pre-execution) plus exceptions caused by SQL -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="debug"/>
<appender-ref ref="stdout-appender"/>
</logger>
<!-- log SQL with timing information, post execution -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="error"/>
<appender-ref ref="stdout-appender"/>
</logger>
<!-- only use the two logs below to trace ALL JDBC information,
NOTE: This can be very voluminous! -->
<!-- log all jdbc calls except ResultSet calls -->
<logger name="jdbc.audit" additivity="false">
<level value="error"/>
<appender-ref ref="stdout-appender"/>
</logger>
<!-- log the jdbc ResultSet calls -->
<logger name="jdbc.resultset" additivity="false">
<level value="error"/>
<appender-ref ref="stdout-appender"/>
</logger>
<!-- log connection open/close events and dump of all open connection numbers -->
<logger name="jdbc.connection" additivity="false">
<level value="error"/>
<appender-ref ref="stdout-appender"/>
</logger>
<!-- this log is for internal debugging of log4jdbc, itself -->
<!-- debug logging for log4jdbc itself -->
<logger name="log4jdbc.debug" additivity="false">
<level value="error"/>
<appender-ref ref="stdout-appender"/>
</logger>
<!-- by default, log everything to the console with a level of WARN or higher -->
<root>
<level value="error"/>
<appender-ref ref="stdout-appender"/>
</root>
</log4j:configuration>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment