AWS Lambda Quarkus Native プロジェクトをコンパイルしようとしています。
HTTP クライアントを追加して使用しようとすると、コンパイルが壊れます。
エラーは次のとおりです。
Error: No instances of sun.security.provider.NativePRNG are allowed in the image heap as this class should be initialized at image runtime. To see how this object got instantiated use -H:+TraceClassInitialization.
Detailed message:
Trace: object java.security.SecureRandom
object sun.security.ssl.SSLContextImpl$TLSContext
object sun.security.ssl.SSLSocketFactoryImpl
object org.apache.http.conn.ssl.SSLConnectionSocketFactory
object java.util.concurrent.ConcurrentHashMap$Node
object java.util.concurrent.ConcurrentHashMap$Node[]
object java.util.concurrent.ConcurrentHashMap
object org.apache.http.config.Registry
object org.apache.http.impl.conn.DefaultHttpClientConnectionOperator
object org.apache.http.impl.conn.PoolingHttpClientConnectionManager
object org.apache.http.impl.client.HttpClientBuilder$2
object java.lang.Object[]
object java.util.ArrayList
object org.apache.http.impl.client.InternalHttpClient
method io.mirko.alexa.home.raspberry.impl.DynamoDBDeviceRepository.getAWSId(String)
OkHTTP と Apache HTTP Client を使用してみましたが、成功しませんでした。
オプションも試しました--initialize-at-run-time
が、次のクラスのいずれにも関連する結果はありません。
- io.mirko.alexa.home.raspberry.impl.DynamoDBDeviceRepository_ClientProxy
- io.mirko.alexa.home.raspberry.impl.DynamoDBDeviceRepository
- org.apache.http.impl.client
- java.security.SecureRandom
- org.apache.http.impl.client.InternalHttpClient
- sun.security.provider.NativePRNG
使用する HTTP クライアントに制限はありません。Quarkus Native で使用可能なものだけで十分です。
ありがとう。