Skip to content

Commit

Permalink
Update to 7.1.0.5-70 and use DCL to implement CarteSingleton
Browse files Browse the repository at this point in the history
  • Loading branch information
zhicwu committed Oct 23, 2017
1 parent b95a421 commit 2a8382d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 21 deletions.
42 changes: 22 additions & 20 deletions pentaho-kettle/src/main/java/org/pentaho/di/www/CarteSingleton.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public class CarteSingleton {
private static Class<?> PKG = Carte.class; // for i18n purposes, needed by Translator2!!

private static SlaveServerConfig slaveServerConfig;
private static CarteSingleton carteSingleton;
private static volatile CarteSingleton carteSingleton;
private static Carte carte;

private LogChannelInterface log;
Expand Down Expand Up @@ -235,29 +235,31 @@ public void run() {
}

public static CarteSingleton getInstance() {
try {
if (carteSingleton == null) {
if (slaveServerConfig == null) {
slaveServerConfig = new SlaveServerConfig();
SlaveServer slaveServer = new SlaveServer();
slaveServerConfig.setSlaveServer(slaveServer);
}

carteSingleton = new CarteSingleton(slaveServerConfig);
if (carteSingleton == null) {
synchronized (CarteSingleton.class) {
if (carteSingleton == null) {
try {
if (slaveServerConfig == null) {
slaveServerConfig = new SlaveServerConfig();
SlaveServer slaveServer = new SlaveServer();
slaveServerConfig.setSlaveServer(slaveServer);
}

String carteObjectId = UUID.randomUUID().toString();
SimpleLoggingObject servletLoggingObject =
new SimpleLoggingObject("CarteSingleton", LoggingObjectType.CARTE, null);
servletLoggingObject.setContainerObjectId(carteObjectId);
servletLoggingObject.setLogLevel(LogLevel.BASIC);
carteSingleton = new CarteSingleton(slaveServerConfig);

return carteSingleton;
} else {
return carteSingleton;
String carteObjectId = UUID.randomUUID().toString();
SimpleLoggingObject servletLoggingObject =
new SimpleLoggingObject("CarteSingleton", LoggingObjectType.CARTE, null);
servletLoggingObject.setContainerObjectId(carteObjectId);
servletLoggingObject.setLogLevel(LogLevel.BASIC);
} catch (KettleException ke) {
throw new RuntimeException(ke);
}
}
}
} catch (KettleException ke) {
throw new RuntimeException(ke);
}

return carteSingleton;
}

public TransformationMap getTransformationMap() {
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
</modules>

<properties>
<pentaho-ce.version>7.1.0.5-67</pentaho-ce.version>
<pentaho-ce.version>7.1.0.5-70</pentaho-ce.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<main.basedir>${project.basedir}</main.basedir>
<compiler-plugin.version>3.5.1</compiler-plugin.version>
Expand Down

0 comments on commit 2a8382d

Please sign in to comment.