</layout>
</appender>
- <appender name="FILE-ENGINE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>alive.log</file>
- <encoder>
- <Pattern>
- [%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%t] %c{1}:[%L] - %m%n
- </Pattern>
- </encoder>
-
- <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
- <fileNamePattern>/tmp/servers/alive-%d{yyyy-MM-dd-HH-mm}.%i.log</fileNamePattern>
- <maxFileSize>100MB</maxFileSize>
- <!-- <maxHistory>30</maxHistory> -->
- <totalSizeCap>1GB</totalSizeCap>
- </rollingPolicy>
- </appender>
-
<logger name="com.samsung" level="debug" additivity="false">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</logger>
<logger name="org.springframework" level="info" additivity="false">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</logger>
<logger name="org.hibernate" level="info" additivity="false">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</logger>
<logger name="kafka" level="info" additivity="false">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</logger>
<logger name="org.apache.zookeeper" level="info" additivity="false">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</logger>
<logger name="org.I0Itec.zkclient" level="info" additivity="false">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</logger>
<root level="error">
<appender-ref ref="STDOUT" />
- <appender-ref ref="FILE-ENGINE" />
</root>
<jmxConfigurator />
private RestTemplate restTemplate;
+ private static final String API_URL_TEMPLATE = "%s/restapi/login?login=%s&password=%s";
+
/**
* Server host
*/
@Override
public String authCode(String login, String password) throws ServerSenderError {
try {
- String stringURI = format("%s/restapi/login?login=%s&password=%s", host, login, password);
- LOG.debug("Server Sender:");
- LOG.debug(stringURI);
+ String stringURI = format(API_URL_TEMPLATE, host, login, password);
+ LOG.debug("Server Sender: " + format(API_URL_TEMPLATE, host, login, "<hidden>"));
ResponseEntity<String> result = restTemplate.getForEntity(new URI(stringURI), String.class);
*/
@FunctionalInterface
public interface AsyncCode<T> {
- void async(ResultCallback<T> resultCallback) throws Throwable;
+ void async(ResultCallback<T> resultCallback) throws Exception;
}
private final Logger log = Logger.getLogger(Synchronous.class);
+ // Default timeout (ms)
+ private static final int DEFAULT_TIMEOUT = 1000;
+
+ // Default maximum rounds
+ private static final int DEFAULT_MAX_ROUNDS = 10;
+
private final Object lock = new Object();
private boolean firstTime = true;
// How long to wait before the next try
- private int timeout = 1000;
+ private int timeout = DEFAULT_TIMEOUT;
// Max tries before exit
- private int maxRounds = 10;
+ private int maxRounds = DEFAULT_MAX_ROUNDS;
// Result
private T result;
asyncCode.async(resultCallback);
- } catch (Throwable throwable) {
- log.error("Error on running asynchronous code. Return empty.", throwable);
+ } catch (Exception e) {
+ log.error("Error on running asynchronous code. Return empty.", e);
return empty();
}
import org.apache.log4j.Logger;
import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.ResourceAccessException;
import org.springframework.web.client.RestTemplate;
1. Do "mvn jetty:run" to start jetty server
See the application in browser under <contextPath>
- 2. Use mvnDebug jetty:run for debug
+ 2. Use "mvnDebug jetty:run" for debug
+ 3. With specified port - "mvn jetty:run -Djetty.http.port=8181"
-->
<plugin>
<groupId>org.eclipse.jetty</groupId>