最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

WSO2 error to find jdbc drivers on kubernetes - Stack Overflow

programmeradmin2浏览0评论

I'm trying to create a WSO2 APIM on my K8S, but I'm receiving an error when my pod starts, I receive the error using mysql and postgresql. I'm using overlay file.

Here is the pod error log, my overlay file and the list of jars inside of container.

wso2.log (error) Caused by: java.sql.SQLException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:316) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:56) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: .postgresql.Driver| at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]| at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at .eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:139) ~[.eclipse.osgi_3.14.0.v20190517-1309.jar:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at java.lang.Class.forName0(Native Method) ~[?:?]| at java.lang.Class.forName(Class.java:534) ~[?:?]| at java.lang.Class.forName(Class.java:513) ~[?:?]| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|

overlay.yaml

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: wso2
  namespace: wso2
  annotations:
    argocd.argoproj.io/sync-wave: "15"
spec:
  ignoreDifferences:
    - group: apps
      kind: StatefulSet
      jsonPointers:
        - /spec/volumeClaimTemplates
  destination:
    namespace: wso2
    server: 
  source:
    helm:
      values: >-
        aws:
          enabled: false
        azure:
          enabled: false
        gcp:
          enabled: false
        kubernetes:
          ingressClass: "ingress-nginx-external"
          ingress:
            tlsSecret: "wso2-tls"
            management:
              enabled: true
              hostname: "am.wso2.domain"
              annotations:
                nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
                nginx.ingress.kubernetes.io/affinity: "cookie"
                nginx.ingress.kubernetes.io/session-cookie-name: "route"
                nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
            gateway:
              enabled: true
              hostname: "gw.wso2.domain"
              annotations:
                nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
                nginx.ingress.kubernetes.io/proxy-buffering: "on"
                nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
            websocket:
              enabled: true
              hostname: "websocket.wso2.domain"
              annotations:
            websub:
              enabled: true
              hostname: "websub.wso2.domain"
              annotations:
          securityContext:
            runAsUser: 10001
            runAsGroup: 10001
        wso2:  
          apim:
            version: "4.4.0"
            secureVaultEnabled: false
            configurations:
              gatewayType: "Regular"
              userStore:
                type: "database_unique_id"
                properties:
                  # key: value
              adminUsername: "example"
              adminPassword: "password"
              databases:
                type: "postgres"
                jdbc:
                  driver: ".postgresql.Driver"
                apim_db:
                  url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_apim"
                  username: "example"
                  password: "password"
                  poolParameters:
                    defaultAutoCommit: false
                    testOnBorrow: true
                    testWhileIdle: true
                    validationInterval: 30000
                    maxActive: 100
                    maxWait: 60000
                    minIdle: 5
                shared_db:
                  url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_shared"
                  username: "example"
                  password: "password"
                  poolParameters:
                    defaultAutoCommit: false
                    testOnBorrow: true
                    testWhileIdle: true
                    validationInterval: 30000
                    maxActive: 100
                    maxWait: 60000
                    minIdle: 5
              ai:
                enabled: false
              security:
                keystores:
                  primary:
                    enabled: false
                  tls:
                    enabled: true
                    name: "example.jks"
                    alias: "example"
                    password: "password"
                    keyPassword: "password"
                  internal:
                    enabled: false
                truststore:
                  name: "example.jks"
                  password: "password"
              gateway:
                environments:
                - name: "Development"
                  type: "sandbox"
                  gatewayType: "Regular"
                  provider: "wso2"
                  displayInApiConsole: true
                  description: "This is a development gateway that handles sandbox token traffic."
                  showAsTokenEndpointUrl: true
                  serviceName: "wso2-gateway-service"
                  servicePort: 9443
                  wsHostname: "websocket.wso2.domain"
                  httpHostname: "gw.wso2.domain"
                  websubHostname: "websub.wso2.domain"
              syncRuntimeArtifacts:
                gateway:
                  labels: ["Default"]
              iskm:
                enabled: false
              jwt:
                enabled: false
              cache:
                gateway_token:
                  enabled: true
                  expiryTime: "15m"
                resource:
                  enabled: true
                  expiryTime: "900s"
                km_token:
                  enabled: true
                  expiryTime: "15m"
                recent_apis:
                  enabled: false
                scopes:
                  enabled: false
                publisher_roles:
                  enabled: false
                jwt_claim:
                  enabled: true
                  expiryTime: "15m"
                tags:
                  enabled: true
                  expiryTime: "2m"
              oauth_config:
                # -- Remove auth header from outgoing requests
                removeOutboundAuthHeader: true
                # -- OAuth authorization header name
                authHeader: "Authorization"
                # -- OAuth revoke endpoint
                revokeEndpoint: ""
                # -- Enable token encryption
                enableTokenEncryption: false
                # -- Enable token hashing
                enableTokenHashing: false
                oauth2JWKSUrl: ""
              cors:
                enabled: true
                allowOrigins: ["*"]
                allowMethods: ["GET","PUT","POST","DELETE","PATCH","OPTIONS"]
                allowHeaders: ["authorization","Access-Control-Allow-Origin","Content-Type","SOAPAction","apikey","Internal-Key"]
                allowCredentials: false
                enableForWS: false
              workflow:
                enable: false
          deployment:
            image:
              registry: "docker.io"
              repository: "wso2/wso2am:4.0.0"
              digest: "sha256:09116b6e248aa0caa0fa66f6a476acb3825bdf6f75267d0dffe9e9261a01d405"
              imagePullPolicy: Always
            resources:
              jvm:
                memory:
                  xms: "2048m"
                  xmx: "2048m"
            startupProbe:
              initialDelaySeconds: 240
              periodSeconds: 20
              failureThreshold: 5
            livenessProbe:
              initialDelaySeconds: 240
              periodSeconds: 20
              failureThreshold: 5
            readinessProbe:
              initialDelaySeconds: 240
              periodSeconds: 20
              failureThreshold: 5
            lifecycle:
              preStopHook:
                sleepSeconds: 10
            minAvailable: "50%"
            nodeSelector:
              dedicated: "wso2"
            persistence:
              solrIndexing:
                enabled: false

pod files enter image description here

I tried to updload the .jar copying manually.

kubectl cp postgresql-42.7.5.jar wso2-wso2am-all-in-one-am-deployment-pod:/home/wso2carbon/wso2am-4.4.0/lib/ -n wso2

I tried to map a volume with the .jar, but I received a lot of errors about the deployment name.

I'm trying to create a WSO2 APIM on my K8S, but I'm receiving an error when my pod starts, I receive the error using mysql and postgresql. I'm using overlay file.

Here is the pod error log, my overlay file and the list of jars inside of container.

wso2.log (error) Caused by: java.sql.SQLException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:316) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: Unable to load class: .postgresql.Driver from ClassLoader:.eclipse.osgi.internal.loader.EquinoxClassLoader@1bb3ba67[jdbc-pool:9.0.65.wso2v1(id=115)];ClassLoader:.eclipse.osgi.internal.framework.ContextFinder@2f66f0d0| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:56) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|Caused by: java.lang.ClassNotFoundException: .postgresql.Driver| at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]| at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at .eclipse.osgi.internal.framework.ContextFinder.loadClass(ContextFinder.java:139) ~[.eclipse.osgi_3.14.0.v20190517-1309.jar:?]| at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]| at java.lang.Class.forName0(Native Method) ~[?:?]| at java.lang.Class.forName(Class.java:534) ~[?:?]| at java.lang.Class.forName(Class.java:513) ~[?:?]| at .apache.tomcat.jdbc.pool.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:38) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:305) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.65.wso2v1.jar:?]| at .wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1057) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:913) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9432) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:345) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:132) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]| at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]| at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]| at .wso2.carbon.user.coremon.DefaultRealm.createObjectWithOptions(DefaultRealm.java:356) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealm.init(DefaultRealm.java:136) ~[.wso2.carbon.user.core_4.9.27.jar:?]| at .wso2.carbon.user.coremon.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[.wso2.carbon.user.core_4.9.27.jar:?]| ... 22 more|

overlay.yaml

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: wso2
  namespace: wso2
  annotations:
    argocd.argoproj.io/sync-wave: "15"
spec:
  ignoreDifferences:
    - group: apps
      kind: StatefulSet
      jsonPointers:
        - /spec/volumeClaimTemplates
  destination:
    namespace: wso2
    server: https://kubernetes.default.svc
  source:
    helm:
      values: >-
        aws:
          enabled: false
        azure:
          enabled: false
        gcp:
          enabled: false
        kubernetes:
          ingressClass: "ingress-nginx-external"
          ingress:
            tlsSecret: "wso2-tls"
            management:
              enabled: true
              hostname: "am.wso2.domain"
              annotations:
                nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
                nginx.ingress.kubernetes.io/affinity: "cookie"
                nginx.ingress.kubernetes.io/session-cookie-name: "route"
                nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
            gateway:
              enabled: true
              hostname: "gw.wso2.domain"
              annotations:
                nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
                nginx.ingress.kubernetes.io/proxy-buffering: "on"
                nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
            websocket:
              enabled: true
              hostname: "websocket.wso2.domain"
              annotations:
            websub:
              enabled: true
              hostname: "websub.wso2.domain"
              annotations:
          securityContext:
            runAsUser: 10001
            runAsGroup: 10001
        wso2:  
          apim:
            version: "4.4.0"
            secureVaultEnabled: false
            configurations:
              gatewayType: "Regular"
              userStore:
                type: "database_unique_id"
                properties:
                  # key: value
              adminUsername: "example"
              adminPassword: "password"
              databases:
                type: "postgres"
                jdbc:
                  driver: ".postgresql.Driver"
                apim_db:
                  url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_apim"
                  username: "example"
                  password: "password"
                  poolParameters:
                    defaultAutoCommit: false
                    testOnBorrow: true
                    testWhileIdle: true
                    validationInterval: 30000
                    maxActive: 100
                    maxWait: 60000
                    minIdle: 5
                shared_db:
                  url: "jdbc:postgresql://postgresql.database.svc.cluster.local:5432/wso2db_shared"
                  username: "example"
                  password: "password"
                  poolParameters:
                    defaultAutoCommit: false
                    testOnBorrow: true
                    testWhileIdle: true
                    validationInterval: 30000
                    maxActive: 100
                    maxWait: 60000
                    minIdle: 5
              ai:
                enabled: false
              security:
                keystores:
                  primary:
                    enabled: false
                  tls:
                    enabled: true
                    name: "example.jks"
                    alias: "example"
                    password: "password"
                    keyPassword: "password"
                  internal:
                    enabled: false
                truststore:
                  name: "example.jks"
                  password: "password"
              gateway:
                environments:
                - name: "Development"
                  type: "sandbox"
                  gatewayType: "Regular"
                  provider: "wso2"
                  displayInApiConsole: true
                  description: "This is a development gateway that handles sandbox token traffic."
                  showAsTokenEndpointUrl: true
                  serviceName: "wso2-gateway-service"
                  servicePort: 9443
                  wsHostname: "websocket.wso2.domain"
                  httpHostname: "gw.wso2.domain"
                  websubHostname: "websub.wso2.domain"
              syncRuntimeArtifacts:
                gateway:
                  labels: ["Default"]
              iskm:
                enabled: false
              jwt:
                enabled: false
              cache:
                gateway_token:
                  enabled: true
                  expiryTime: "15m"
                resource:
                  enabled: true
                  expiryTime: "900s"
                km_token:
                  enabled: true
                  expiryTime: "15m"
                recent_apis:
                  enabled: false
                scopes:
                  enabled: false
                publisher_roles:
                  enabled: false
                jwt_claim:
                  enabled: true
                  expiryTime: "15m"
                tags:
                  enabled: true
                  expiryTime: "2m"
              oauth_config:
                # -- Remove auth header from outgoing requests
                removeOutboundAuthHeader: true
                # -- OAuth authorization header name
                authHeader: "Authorization"
                # -- OAuth revoke endpoint
                revokeEndpoint: ""
                # -- Enable token encryption
                enableTokenEncryption: false
                # -- Enable token hashing
                enableTokenHashing: false
                oauth2JWKSUrl: ""
              cors:
                enabled: true
                allowOrigins: ["*"]
                allowMethods: ["GET","PUT","POST","DELETE","PATCH","OPTIONS"]
                allowHeaders: ["authorization","Access-Control-Allow-Origin","Content-Type","SOAPAction","apikey","Internal-Key"]
                allowCredentials: false
                enableForWS: false
              workflow:
                enable: false
          deployment:
            image:
              registry: "docker.io"
              repository: "wso2/wso2am:4.0.0"
              digest: "sha256:09116b6e248aa0caa0fa66f6a476acb3825bdf6f75267d0dffe9e9261a01d405"
              imagePullPolicy: Always
            resources:
              jvm:
                memory:
                  xms: "2048m"
                  xmx: "2048m"
            startupProbe:
              initialDelaySeconds: 240
              periodSeconds: 20
              failureThreshold: 5
            livenessProbe:
              initialDelaySeconds: 240
              periodSeconds: 20
              failureThreshold: 5
            readinessProbe:
              initialDelaySeconds: 240
              periodSeconds: 20
              failureThreshold: 5
            lifecycle:
              preStopHook:
                sleepSeconds: 10
            minAvailable: "50%"
            nodeSelector:
              dedicated: "wso2"
            persistence:
              solrIndexing:
                enabled: false

pod files enter image description here

I tried to updload the .jar copying manually.

kubectl cp postgresql-42.7.5.jar wso2-wso2am-all-in-one-am-deployment-pod:/home/wso2carbon/wso2am-4.4.0/lib/ -n wso2

I tried to map a volume with the .jar, but I received a lot of errors about the deployment name.

Share Improve this question edited Feb 4 at 17:51 David Maze 160k45 gold badges244 silver badges287 bronze badges asked Feb 4 at 17:08 Petterson OlivaPetterson Oliva 12 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

Files that we are adding/copying to containers will not persist and will be lost when the container/pod rollout.

Therefore, you need to persist the jdbc connector jar files by using config maps or using persistent Volumes.

For further info please refer to [1].

[1] https://shiranm.medium/persisting-custom-implementations-on-wso2-products-in-kubernetes-deployments-af92f520dc35

发布评论

评论列表(0)

  1. 暂无评论