Spring Boot – Developer Tools - Remote mode throws CertificateException: No name matching localhost found - remote-debugging

I am trying to run Spring Boot Dev Tools to remote debug my application using the “org.springframework.boot.devtools.RemoteSpringApplication“ option, as described here:
https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools.remote-applications
It starts fine. I run the server app and wait until it's fully up. Then I run the Remote DevTools configuration from STS4 (Eclipse) and it starts ok with no issues. I see in console:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ ___ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | | _ \___ _ __ ___| |_ ___ \ \ \ \
\\/ ___)| |_)| | | | | || (_| []::::::[] / -_) ' \/ _ \ _/ -_) ) ) ) )
' |____| .__|_| |_|_| |_\__, | |_|_\___|_|_|_\___/\__\___|/ / / /
=========|_|==============|___/===================================/_/_/_/
:: Spring Boot Remote :: (v2.5.4)
2021-09-05 19:47:06.731 INFO 11196 [ main] o.s.b.StartupInfoLogger : Starting RemoteSpringApplication v2.5.4 using Java 1.8.0_262 on MY-PC with PID 11196 (C:\.m2\repository\org\springframework\boot\spring-boot-devtools\2.5.4\spring-boot-devtools-2.5.4.jar started by ...)
2021-09-05 19:47:06.742 INFO 11196 [ main] o.s.b.SpringApplication : The following profiles are active: server
2021-09-05 19:47:16.148 INFO 11196 [ main] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2021-09-05 19:47:16.165 INFO 11196 [ main] o.s.b.StartupInfoLogger : Started RemoteSpringApplication in 9.923 seconds (JVM running for 11.966)
My problem is that when I connect a client application to the server then I get the following exception in the console of DevTools:
Exception in thread "File Watcher" java.lang.IllegalStateException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found
at org.springframework.boot.devtools.remote.client.ClassPathChangeUploader.onApplicationEvent(ClassPathChangeUploader.java:97 undefined)
at org.springframework.boot.devtools.remote.client.ClassPathChangeUploader.onApplicationEvent(ClassPathChangeUploader.java:59 undefined)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176 undefined)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169 undefined)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143 undefined)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421 undefined)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378 undefined)
at org.springframework.boot.devtools.classpath.ClassPathFileChangeListener.publishEvent(ClassPathFileChangeListener.java:67 undefined)
at org.springframework.boot.devtools.classpath.ClassPathFileChangeListener.onChange(ClassPathFileChangeListener.java:63 undefined)
at org.springframework.boot.devtools.filewatch.FileSystemWatcher$Watcher.fireListeners(FileSystemWatcher.java:329 undefined)
at org.springframework.boot.devtools.filewatch.FileSystemWatcher$Watcher.updateSnapshots(FileSystemWatcher.java:323 undefined)
at org.springframework.boot.devtools.filewatch.FileSystemWatcher$Watcher.scan(FileSystemWatcher.java:283 undefined)
at org.springframework.boot.devtools.filewatch.FileSystemWatcher$Watcher.run(FileSystemWatcher.java:263 undefined)
at java.lang.Thread.run(Thread.java:748 undefined)
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found
at sun.security.ssl.Alerts.getSSLException(Alerts.java:198 undefined)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1967 undefined)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:331 undefined)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:325 undefined)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1688 undefined)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:226 undefined)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1082 undefined)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:1010 undefined)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1079 undefined)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1388 undefined)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1416 undefined)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1400 undefined)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559 undefined)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185 undefined)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:167 undefined)
at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:76 undefined)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48 undefined)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66 undefined)
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:109 undefined)
at org.springframework.boot.devtools.remote.client.HttpHeaderInterceptor.intercept(HttpHeaderInterceptor.java:57 undefined)
at org.springframework.http.client.InterceptingClientHttpRequest$InterceptingRequestExecution.execute(InterceptingClientHttpRequest.java:93 undefined)
at org.springframework.http.client.InterceptingClientHttpRequest.executeInternal(InterceptingClientHttpRequest.java:77 undefined)
at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48 undefined)
at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66 undefined)
at org.springframework.boot.devtools.remote.client.ClassPathChangeUploader.performUpload(ClassPathChangeUploader.java:110 undefined)
at org.springframework.boot.devtools.remote.client.ClassPathChangeUploader.onApplicationEvent(ClassPathChangeUploader.java:94 undefined)
... 13 more
Caused by: java.security.cert.CertificateException: No name matching localhost found
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:237 undefined)
at sun.security.util.HostnameChecker.match(HostnameChecker.java:97 undefined)
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:462 undefined)
at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:442 undefined)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:209 undefined)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132 undefined)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1670 undefined)
... 34 more

Related

[Amazon](500150) SocketTimeoutException. Works locally but not on Lambda [Redshift, Spring Data JDBC, Spring Boot]

I am working on a simple API to query Redshift and I am encountering nothing but problems. The current one is that I am getting a SocketTimeoutException when I deploy it to Lambda. Googling this exception has tons of recommendations to add "client CIDR/IP address to the VPC security group". However, my credentials (and IP) work fine for me to access the Redshift DB from my DB Client (DBeaver), and when I run my Spring Boot application locally and call it from Postman. But once it is on Lambda I get the SocketTimeoutException.
I am reaching out to the team to check if I do need to whitelist an IP, but the headache I was having before this was about Spring Boot taking too long to build causing other types of time outs and I have a feeling that this issue has more to do with Spring Boot than it does with my Redshift connection.
Reasons I suspect this:
1. as I mentioned, I have had timeout issues for days but it only switched to the socket timeout when I went from variations of the suggested:
public StreamLambdaHandler() throws ContainerInitializationException {
long startTime = Instant.now().toEpochMilli();
handler = new SpringBootProxyHandlerBuilder()
.defaultProxy()
.asyncInit(startTime)
.springBootApplication(Application.class)
.buildAndInitialize();
}
to what a different API my company is using has:
private static SpringBootLambdaContainerHandler<AwsProxyRequest, AwsProxyResponse> handler;
static {
try {
handler = SpringBootLambdaContainerHandler.getAwsProxyHandler(Application.class);
} catch (ContainerInitializationException e) {
e.printStackTrace();
throw new RuntimeException("Could not initialize Spring Boot application", e);
}
}
2 My company deploys a much heavier api (with many endpoints, service classes, etc) that is only 60kb whereas my single endpoint api I am packaging as shaded with all the dependencies which put it at a whopping 19.6MB! I am guessing this might be affecting the load time?
3 it takes 4.227 seconds to load locally.
Full Stack Trace is really really long, but here is the bit I think is most relevant:
2023-02-06T07:13:30.139-06:00 INIT_START Runtime Version: java:11.v15 Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:blahhalb
2023-02-06T07:13:30.715-06:00 13:13:30.711 [main] INFO com.amazonaws.serverless.proxy.internal.LambdaContainerHandler - Starting Lambda Container Handler
*****Starts app at 7:13:31*****
2023-02-06T07:13:31.634-06:00 . ____ _ __ _ _
2023-02-06T07:13:31.634-06:00 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
2023-02-06T07:13:31.634-06:00 ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
2023-02-06T07:13:31.634-06:00 \\/ ___)| |_)| | | | | || (_| | ) ) ) )
2023-02-06T07:13:31.634-06:00 ' |____| .__|_| |_|_| |_\__, | / / / /
2023-02-06T07:13:31.634-06:00 =========|_|==============|___/=/_/_/_/
2023-02-06T07:13:31.638-06:00 :: Spring Boot ::
2023-02-06T07:13:31.834-06:00 2023-02-06 13:13:31.833 INFO 9 --- [ main] lambdainternal.AWSLambda : Starting AWSLambda using Java 11.0.14.1 on 169.254.10.245 with PID 9 (/var/runtime/lib/aws-lambda-java-runtime-0.2.0.jar started by sbx_user1051 in /var/task)
2023-02-06T07:13:31.835-06:00 2023-02-06 13:13:31.835 INFO 9 --- [ main] lambdainternal.AWSLambda : No active profile set, falling back to default profiles: default
2023-02-06T07:13:32.722-06:00 2023-02-06 13:13:32.722 INFO 9 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
2023-02-06T07:13:32.787-06:00 2023-02-06 13:13:32.787 INFO 9 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 58 ms. Found 1 JDBC repository interfaces.
2023-02-06T07:13:33.194-06:00 2023-02-06 13:13:33.194 INFO 9 --- [ main] c.a.s.p.i.servlet.AwsServletContext : Initializing Spring embedded WebApplicationContext
2023-02-06T07:13:33.194-06:00 2023-02-06 13:13:33.194 INFO 9 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1281 ms
2023-02-06T07:13:33.587-06:00 2023-02-06 13:13:33.585 INFO 9 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2023-02-06T07:13:40.762-06:00 13:13:40.758 [main] INFO
***** After failing to make connection after 7 seconds, restarts app*****
com.amazonaws.serverless.proxy.internal.LambdaContainerHandler - Starting Lambda Container Handler
2023-02-06T07:13:41.613-06:00 . ____ _ __ _ _
2023-02-06T07:13:41.613-06:00 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
2023-02-06T07:13:41.613-06:00 ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
2023-02-06T07:13:41.613-06:00 \\/ ___)| |_)| | | | | || (_| | ) ) ) )
2023-02-06T07:13:41.613-06:00 ' |____| .__|_| |_|_| |_\__, | / / / /
2023-02-06T07:13:41.613-06:00 =========|_|==============|___/=/_/_/_/
2023-02-06T07:13:41.616-06:00 :: Spring Boot ::
2023-02-06T07:13:41.807-06:00 2023-02-06 13:13:41.805 INFO 12 --- [ main] lambdainternal.AWSLambda : Starting AWSLambda using Java 11.0.14.1 on 169.254.10.245 with PID 12 (/var/runtime/lib/aws-lambda-java-runtime-0.2.0.jar started by sbx_user1051 in /var/task)
2023-02-06T07:13:41.807-06:00 2023-02-06 13:13:41.807 INFO 12 --- [ main] lambdainternal.AWSLambda : No active profile set, falling back to default profiles: default
2023-02-06T07:13:42.699-06:00 2023-02-06 13:13:42.699 INFO 12 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JDBC repositories in DEFAULT mode.
2023-02-06T07:13:42.762-06:00 2023-02-06 13:13:42.761 INFO 12 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 56 ms. Found 1 JDBC repository interfaces.
2023-02-06T07:13:43.160-06:00 2023-02-06 13:13:43.160 INFO 12 --- [ main] c.a.s.p.i.servlet.AwsServletContext : Initializing Spring embedded WebApplicationContext
2023-02-06T07:13:43.160-06:00 2023-02-06 13:13:43.160 INFO 12 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1277 ms
2023-02-06T07:13:43.549-06:00 2023-02-06 13:13:43.548 INFO 12 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2023-02-06T07:14:14.685-06:00 2023-02-06 13:14:14.684 ERROR 12 --- [ main]
*****Tries to make a connection for 31 seconds before giving me the SocketTimeoutException*****
com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.
2023-02-06T07:14:14.685-06:00 java.sql.SQLException: [Amazon](500150) Error setting/closing connection: SocketTimeoutException.
2023-02-06T07:14:14.685-06:00 at com.amazon.redshift.client.PGClient.connect(Unknown Source) ~[task/:na]
2023-02-06T07:14:14.685-06:00 at com.amazon.redshift.client.PGClient.<init>(Unknown Source) ~[task/:na]
2023-02-06T07:14:14.685-06:00 at com.amazon.redshift.core.PGJDBCConnection.connect(Unknown Source) ~[task/:na]
2023-02-06T07:14:14.685-06:00 at com.amazon.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source) ~[task/:na]
2023-02-06T07:14:14.685-06:00 at com.amazon.jdbc.common.AbstractDriver.connect(Unknown Source) ~[task/:na]
2023-02-06T07:14:14.685-06:00 at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[task/:na]
Is it possible that this is a Spring Boot build timeout exception? or is it much more likely that it is in fact a Redshift connection issue?
SO your use case is to write an AWS Lambda function that can perform CRUD operations on a Redshift cluster? If so, you can implement this use case by using the Java Lambda run-time API.
com.amazonaws.services.lambda.runtime.RequestHandler
To perform Redshift data CRUD operations from Lambda, you can use software.amazon.awssdk.services.redshiftdata.RedshiftDataClient.
Once you setup your Lambda function correctly, you can use the Redshift data client to modify the data. For example:
private RedshiftDataClient getClient() {
Region region = Region.US_WEST_2;
RedshiftDataClient redshiftDataClient = RedshiftDataClient.builder()
.region(region)
.build();
return redshiftDataClient;
}
public void delPost(String id) {
try {
RedshiftDataClient redshiftDataClient = getClient();
String sqlStatement = "DELETE FROM blog WHERE idblog = '" + id + "'";
ExecuteStatementRequest statementRequest = ExecuteStatementRequest.builder()
.clusterIdentifier(clusterId)
.database(database)
.dbUser(dbUser)
.sql(sqlStatement)
.build();
redshiftDataClient.executeStatement(statementRequest);
} catch (RedshiftDataException e) {
System.err.println(e.getMessage());
System.exit(1);
}
}
ALso - as your Lambda function invokes Amazon Redshift, the IAM role that the Lambda function uses must have a policy that enables it to invoke this AWS Service from the Lambda function.
To conclude, you can use RedshiftDataClient as opposed to Spring APIs to insert/modify/delete Redshift data from an AWS Lambda function.

Expo fastlane build fails due to issue with logging in EXUpdates / expo-updates

I get this error message when building an IOS app on an expo managed worfklow for SDK 46. The error appears at the end of the log, at line 716: 'Logger' initializer is inaccessible due to 'internal' protection level. The expo-updates package is installed with the latest version (0.15.6).
The expo doctor command shows nothing wrong with the project.
Compiling expo-eas-client Pods/EASClient » EASClient-dummy.m
› Packaging expo-eas-client Pods/EASClient » libEASClient.a
› Executing expo-eas-client Pods/EASClient » Copy generated compatibility header
› Executing expo-updates Pods/EXUpdates » [CP-User] Generate app.manifest for expo-updates
❌ (node_modules/expo-updates/ios/EXUpdates/Logging/UpdatesLogger.swift:15:24)
13 | public static let EXPO_UPDATES_LOG_CATEGORY = "expo-updates"
14 |
> 15 | private let logger = Logger(category: UpdatesLogger.EXPO_UPDATES_LOG_CATEGORY, options: [.logToOS, .logToFile])
| ^ 'Logger' initializer is inaccessible due to 'internal' protection level
16 |
17 | // MARK: - Public logging functions
18 |
❌ (node_modules/expo-updates/ios/EXUpdates/Logging/UpdatesLogger.swift:15:91)
13 | public static let EXPO_UPDATES_LOG_CATEGORY = "expo-updates"
14 |
> 15 | private let logger = Logger(category: UpdatesLogger.EXPO_UPDATES_LOG_CATEGORY, options: [.logToOS, .logToFile])
| ^ extra argument 'options' in call
16 |
17 | // MARK: - Public logging functions
18 |
❌ (node_modules/expo-updates/ios/EXUpdates/Logging/UpdatesLogger.swift:15:93)
13 | public static let EXPO_UPDATES_LOG_CATEGORY = "expo-updates"
14 |
> 15 | private let logger = Logger(category: UpdatesLogger.EXPO_UPDATES_LOG_CATEGORY, options: [.logToOS, .logToFile])
| ^ reference to member 'logToOS' cannot be resolved without a contextual type
16 |
17 | // MARK: - Public logging functions
18 |
❌ (node_modules/expo-updates/ios/EXUpdates/Logging/UpdatesLogger.swift:15:103)
13 | public static let EXPO_UPDATES_LOG_CATEGORY = "expo-updates"
14 |
> 15 | private let logger = Logger(category: UpdatesLogger.EXPO_UPDATES_LOG_CATEGORY, options: [.logToOS, .logToFile])
| ^ reference to member 'logToFile' cannot be resolved without a contextual type
16 |
17 | // MARK: - Public logging functions
18 |
❌ (node_modules/expo-updates/ios/EXUpdates/Logging/UpdatesLogReader.swift:15:32)
13 | public class UpdatesLogReader: NSObject {
14 | private let serialQueue = DispatchQueue(label: "dev.expo.updates.logging.reader")
> 15 | private let logPersistence = PersistentFileLog(category: UpdatesLogger.EXPO_UPDATES_LOG_CATEGORY)
| ^ cannot find 'PersistentFileLog' in scope
16 |
17 | /**
18 | Get expo-updates logs newer than the given date
▸ ** ARCHIVE FAILED **
▸ The following build commands failed:
▸ CompileSwift normal arm64 (in target 'EXUpdates' from project 'Pods')
▸ CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'EXUpdates' from project 'Pods')
▸ (2 failures)
2023-01-06 08:55:22.238 xcodebuild[4410:14072] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionSentinelHostApplications for extension Xcode.DebuggerFoundation.AppExtensionHosts.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2023-01-06 08:55:22.238 xcodebuild[4410:14072] Requested but did not find extension point with identifier Xcode.IDEKit.ExtensionPointIdentifierToBundleIdentifier for extension Xcode.DebuggerFoundation.AppExtensionToBundleIdentifierMap.watchOS of plug-in com.apple.dt.IDEWatchSupportCore
2023-01-06 08:55:22.327 xcodebuild[4410:14072] XType: failed to connect - Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.fonts was invalidated: failed at lookup with error 3 - No such process." UserInfo={NSDebugDescription=The connection to service named com.apple.fonts was invalidated: failed at lookup with error 3 - No such process.}
2023-01-06 08:55:22.328 xcodebuild[4410:14072] Font server protocol version mismatch (expected:5 got:0), falling back to local fonts
2023-01-06 08:55:22.328 xcodebuild[4410:14072] XType: unable to make a connection to the font daemon!
2023-01-06 08:55:22.328 xcodebuild[4410:14072] XType: XTFontStaticRegistry is enabled as fontd is not available.
** ARCHIVE FAILED **
The following build commands failed:
CompileSwift normal arm64 (in target 'EXUpdates' from project 'Pods')
CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler (in target 'EXUpdates' from project 'Pods')
(2 failures)
Exit status: 65
+-------------+-------------------------+
| Build environment |
+-------------+-------------------------+
| xcode_path | /Applications/Xcode.app |
| gym_version | 2.206.1 |
| sdk | iPhoneOS15.5.sdk |
+-------------+-------------------------+
The issue was solved by upgrading to Expo SDK 47.

QuestDB stopped working after update to 6.0.3 on homebrew

After updating QuestDB to 6.0.3 using homebrew I cannot start it anymore
$ questdb start
___ _ ____ ____
/ _ \ _ _ ___ ___| |_| _ \| __ )
| | | | | | |/ _ \/ __| __| | | | _ \
| |_| | |_| | __/\__ \ |_| |_| | |_) |
\__\_\\__,_|\___||___/\__|____/|____/
www.questdb.io
JAVA: /usr/lib/jvm/java-11-openjdk-11.0.11.0.9-1.el7_9.x86_64//bin/java
QuestDB server 6.0.3
Copyright (C) 2014-2021, all rights reserved.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/libquestdb16783513652948944750.so: /tmp/libquestdb16783513652948944750.so: failed to map segment from shared object: Operation not permitted
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1837)
at io.questdb#6.0.3/io.questdb.std.Os.loadLib(Os.java:161)
at io.questdb#6.0.3/io.questdb.std.Os.<clinit>(Os.java:179)
at io.questdb#6.0.3/io.questdb.ServerMain.<init>(ServerMain.java:98)
at io.questdb#6.0.3/io.questdb.ServerMain.main(ServerMain.java:259)
I'm using homebrew on CentOS Linux. Anyone have seen this problem?
The issue is permissions on /tmp directory even though error does not say anything about it. QuestDB is Java and Java uses hardcoded /tmp as temp directory on Linux and does not try to use any environment variables to override it. QuestDB tries to load native binary and java uses `/tmp' to unpack and load it from.
The only solution is to add exec permissions to '/tmp' directory to the account which runs QuestDB.

Katalon Recorder : If variable contains some text - True/False

In Katalon Chrome addon or Selenium Chrome addon, I'm trying to set up a simple check to verify if an element contains a specific text.
Here is what I've done so far :
Katalon Recorder (Example):
Command | Target | Value
click | id=subscribed |
StoreText | id=subscribed | i
echo | ${i}
verifyText | id=subscribed | alyx
Log result :
[info] Executing: | click | id=subscribed | |
[info] Executing: | storeText | id=subscribed | i |
[info] Store 'alyx.vance' into 'i'
[info] Executing: | echo | ${i} | |
[info] Expand variable '${i}' into 'alyx.vance'
[info] echo: alyx.vance
[info] Executing: | verifyText | id=subscribed | alyx |
From here, how can I set up this? :
If VerifyText = alyx (Contains) => Goto Label X (True)
If VerifyText != alyx (Not Contains) => Goto Label Y (False)
Thank you for your help.
I've finaly found the solution and it works that way on my script :
Command | Target | Value
click | id=subscribed
StoreText | id=subscribed | i
echo | ${i}
storeText | alyx.vance | j
if | ('${i}').includes('${j}')
gotoLabel | X
else
gotoLabel | Y
...
endif
It works for me but in certain cases, it might not work so, if you need help :)
How about:
storeText | id=subscribed | i
store | alyx.vance | j
if | ${i} == ${j}
click | Label_X_locator
elseIf | ${i} != ${j}
click | Label_Y_locator
endIf

Error calling an external SOAP web service with WSClient

I have created a SOAP webservice that I would like to access from Grails.
I have installed the plugin ws-client in order to use the object WSClient.
I have tried with the example given here: http://groovy.codehaus.org/Using+WSClient+in+Grails
So my code is:
def index = {
def proxy = new WSClient("http://www.w3schools.com/webservices/tempconvert.asmx?WSDL", this.class.classLoader)
proxy.initialize()
def result = proxy.CelsiusToFahrenheit(0)
result = "You are probably freezing at ${result} degrees Farhenheit"
flash.message = result
}
This is the error I get:
javac: target release 1.5 conflicts with default source release 1.7
| Error 2013-02-27 17:47:06,901 [http-bio-8080-exec-10] ERROR errors.GrailsExceptionResolver - JAXBException occurred when processing request: [POST] /WordGame/game/create
"org.tempuri" doesnt contain ObjectFactory.class or jaxb.index. Stacktrace follows:
Message: "org.tempuri" doesnt contain ObjectFactory.class or jaxb.index
Line | Method
->> 197 | createContext in com.sun.xml.bind.v2.ContextFactory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| 172 | newInstance in javax.xml.bind.ContextFinder
| 132 | newInstance . in ''
| 334 | find in ''
| 431 | newInstance . in javax.xml.bind.JAXBContext
| 349 | createClient in org.apache.cxf.endpoint.dynamic.DynamicClientFactory
| 196 | createClient in ''
| 175 | createClient in ''
| 198 | createClient in groovyx.net.ws.AbstractCXFWSClient
| 107 | initialize in groovyx.net.ws.WSClient
| 30 | conversion . in wordgame.GameController$$ENyfXWG9
| 42 | doCall in wordgame.GameController$_closure1$$ENyfXWG9
| 195 | doFilter . . in grails.plugin.cache.web.filter.PageFragmentCachingFilter
| 63 | doFilter in grails.plugin.cache.web.filter.AbstractFilter
| 1110 | runWorker . . in java.util.concurrent.ThreadPoolExecutor
| 603 | run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 722 | run . . . . . in java.lang.Thread
I know there is no error calling the method proxy.CelsiusToFahrenheit(0) because I have the same error just doing:
def proxy = new WSClient("http://www.w3schools.com/webservices/tempconvert.asmx?WSDL", this.class.classLoader)
proxy.initialize()
I have tried with an other webservice I have created but I have the same error.
I have search on Google and I have seen a lot of people having this issue and I didn't find how to fix it.
Config:
Windows 7 x64
Netbeans 7.2.1
Grails 2.2.0
Do someone know how to fix this problem?
Thanks for the answer but the problem was from plugins. In order to work, It was needed to install the plugins:
cxf
cxf-client
Installing these two plugins resolved the problem.
From the error message
javac: target release 1.5 conflicts with default source release 1.7
I think it's about JDK version. WSClient needs JDK to compile something in the run-time, so you have to deploy a 1.7 version JDK to support that.