Saturday, December 20, 2025

Weblogic 14.1.2 change logging date format pattern on system logs to YYYY-MM-DD

 

HOWTO

Customizing Domain Wide Server Parameters

To customize domain wide server parameters in WebLogic Server, configure setUserOverrides.cmd (Windows) or setUserOverrides.sh (UNIX) libraries by specifying the required Java command line options and environment variables to it.

Every domain includes dynamically generated domain and server startup scripts, such as setDomainEnv. Oracle recommends that you do not modify these startup scripts, as any changes you make to them will be overwritten during subsequent domain upgrade operations.

To enable you to customize server startup parameters that apply to the servers in a domain, there are two scripts that you can provide: setUserOverrides.cmd and setUserOverridesLate.cmd (Windows) or setUserOverrides.sh and setUserOverridesLate.sh (UNIX). The setUserOverrides script will be executed early in the setDomainEnv script, before any domain extension template properties have been set. The setUserOverridesLate script will be executed later after the domain extension template properties have been set. These scripts can be configured to, for example, add custom libraries to the WebLogic Server classpath, specify additional java command line options for running the servers, or specify additional environment variables. Any customizations you add to these files are preserved during domain upgrade operations and are carried over to remote servers when using the pack and unpack commands.

To assure your customizations effectively override all product defaults, add your customizations to the setUserOverridesLate script, otherwise your customizations may be overridden by product extensions when using setUserOverrides.

Log format pattern - set via Weblogic console or WLST



dave@dave:/app/domains/dave_domain$ grep -2  pattern  config/config.xml 
  </security-configuration>
  <log>
    <date-format-pattern>yyyy-MM-dd'T'HH:mm:ss,SSSz</date-format-pattern>
  </log>
  <server>
--
    </ssl>
    <log>
      <date-format-pattern>yyyy-MM-dd'T'HH:mm:ss,SSSz</date-format-pattern>
    </log>
    <listen-address></listen-address>


setUserOverrides.sh called from setDomainEnv.sh 

# Set user overrides, if available.

if [ -f ${DOMAIN_HOME}/bin/setUserOverrides.sh ] ; then
        . ${DOMAIN_HOME}/bin/setUserOverrides.sh
fi

Add into start script

#!/bin/sh

# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions to this configuration.

DOMAIN_HOME="/app/domains/dave_domain"

export JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.util.logging.config.file=/app/domains/dave_domain/logging.properties"

${DOMAIN_HOME}/bin/startWebLogic.sh $*

Add logging.properties file for domain

dave@dave:~$ cat /app/domains/dave_domain/logging.properties
# WebLogic Unified Logging Configuration
# Forces all Java Util Logging to use WebLogic's log format

# Use WebLogic's log handler
handlers = weblogic.logging.ServerLoggingHandler

# Default logging level
.level = INFO

# Configure WebLogic handler to use the standard format
weblogic.logging.ServerLoggingHandler.level = INFO
weblogic.logging.ServerLoggingHandler.formatter = weblogic.logging.WLLogFormatter

# Subsystem-specific logging levels
weblogic.wsee.level = INFO
weblogic.wsee.runtime.level = INFO


Weblogic start log 


ave@dave:/app/domains/dave_domain$ ./startWebLogic.sh 
.
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000
.
CLASSPATH=/home/app/weblogic-14.1.2/wlserver/../oracle_common/modules/com.oracle.webservices.wls.wls-jaxrpc.jar::/home/app/weblogic-14.1.2/wlserver/server/lib/weblogic.jar:/home/app/weblogic-14.1.2/wlserver/../oracle_common/modules/thirdparty/ant-contrib-1.0b3.jar:/home/app/weblogic-14.1.2/wlserver/modules/features/oracle.wls.common.nodemanager.jar::/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbynet.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbytools.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbyclient.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derby.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbyshared.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbyoptionaltools.jar
.
PATH=/app/domains/dave_domain/bin:/home/app/weblogic-14.1.2/wlserver/server/bin:/home/app/weblogic-14.1.2/wlserver/../oracle_common/modules/thirdparty/org.apache.ant/apache-ant/bin:/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin:/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin:/app/weblogic/oracle_common/modules/thirdparty/apache-maven_bundle/3.6.1.0.0/apache-maven-3.6.1//bin:/app/weblogic/wit/imagetool/bin:/app/weblogic-deploy/bin/:/usr/java/jdk-21/bin:/usr/share/maven/bin:/opt/google:/opt/jmc/jmc-8.3.1_linux-x64/JDK_Mission_Control:/app/weblogic/oracle_common/modules/thirdparty/apache-maven_bundle/3.6.1.0.0/apache-maven-3.6.1//bin:/app/weblogic/wit/imagetool/bin:/app/weblogic-deploy/bin/:/home/dave/.local/bin:/home/dave/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/var/lib/snapd/snap/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
Starting WLS with line:
/usr/lib/jvm/jdk-21.0.5-oracle-x64/bin/java -server   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -cp /home/app/weblogic-14.1.2/wlserver/server/lib/weblogic-launcher.jar -Dlaunch.use.env.classpath=true -Dweblogic.Name=AdminServer -Djava.security.policy=/home/app/weblogic-14.1.2/wlserver/server/lib/weblogic.policy  -Djava.util.logging.config.file=/app/domains/dave_domain/logging.properties -Djava.system.class.loader=com.oracle.classloader.weblogic.LaunchClassLoader -Dweblogic.log.RedirectStdoutToServerLogEnabled=true -Dweblogic.log.StdoutSeverity=Info -Duser.language=en -Duser.country=US  -javaagent:/home/app/weblogic-14.1.2/wlserver/server/lib/debugpatch-agent.jar -da -Dwls.home=/home/app/weblogic-14.1.2/wlserver/server -Dweblogic.home=/home/app/weblogic-14.1.2/wlserver/server      weblogic.Server
[0.027s][warning][cds] Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.oracle.classloader.weblogic.LaunchClassLoader"). To use archived non-system classes, this property must not be set
<Dec 21, 2025, 9:55:42 PM Central European Standard Time> <Info> <Default> <BEA-000000> <JceConfig is unknown> 
<Dec 21, 2025, 9:55:42 PM Central European Standard Time> <Info> <Default> <BEA-000000> <FIPS compliant operation not available for configuration type OTHER> 
<Dec 21, 2025, 9:55:42 PM Central European Standard Time> <Info> <Default> <BEA-000000> <JceConfig is in non-FIPS mode> 
<Dec 21, 2025, 9:55:42 PM Central European Standard Time> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java HotSpot(TM) 64-Bit Server VM Version 21.0.5+9-LTS-239 from Oracle Corporation.> 
<Dec 21, 2025, 9:55:42 PM Central European Standard Time> <Info> <Management> <BEA-141107> <Version: WebLogic Server 14.1.2.0.0  Tue Nov 26 02:40:45 GMT 2024 2171472> 
<Dec 21, 2025, 9:55:43 PM Central European Standard Time> <Info> <Management> <BEA-141340> <Server starting with ProductionModeEnabled=false> 
<Dec 21, 2025, 9:55:43 PM Central European Standard Time> <Info> <Management> <BEA-141341> <Server starting with SecureModeEnabled=false> 
<Dec 21, 2025, 9:55:44 PM Central European Standard Time> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<Dec 21, 2025, 9:55:44 PM Central European Standard Time> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool.> 
<2025-12-21T21:55:44,226CET> <Info> <WebLogicServer> <BEA-000214> <WebLogic Server "AdminServer" version:
WebLogic Server 14.1.2.0.0  Tue Nov 26 02:40:45 GMT 2024 2171472 Copyright (c) 1995,2024, Oracle and/or its affiliates. All rights reserved.> 
<2025-12-21T21:55:44,243CET> <Info> <Server> <BEA-002622> <The protocol "t3" is now configured.> 
<2025-12-21T21:55:44,243CET> <Info> <Server> <BEA-002622> <The protocol "t3s" is now configured.> 
<2025-12-21T21:55:44,244CET> <Info> <Server> <BEA-002622> <The protocol "http" is now configured.> 
<2025-12-21T21:55:44,245CET> <Info> <Server> <BEA-002622> <The protocol "https" is now configured.> 
<2025-12-21T21:55:44,246CET> <Info> <Server> <BEA-002622> <The protocol "iiop" is now configured.> 
<2025-12-21T21:55:44,246CET> <Info> <Server> <BEA-002622> <The protocol "iiops" is now configured.> 
<2025-12-21T21:55:44,247CET> <Info> <Server> <BEA-002622> <The protocol "ldap" is now configured.> 
<2025-12-21T21:55:44,248CET> <Info> <Server> <BEA-002622> <The protocol "ldaps" is now configured.> 
<2025-12-21T21:55:44,250CET> <Info> <Server> <BEA-002622> <The protocol "cluster" is now configured.> 
<2025-12-21T21:55:44,250CET> <Info> <Server> <BEA-002622> <The protocol "clusters" is now configured.> 
<2025-12-21T21:55:44,253CET> <Info> <Server> <BEA-002622> <The protocol "snmp" is now configured.> 
<2025-12-21T21:55:44,254CET> <Info> <Server> <BEA-002622> <The protocol "admin" is now configured.> 
<2025-12-21T21:55:44,254CET> <Info> <Server> <BEA-002624> <The administration protocol is "t3s" and is now configured.> 
<2025-12-21T21:55:44,291CET> <Info> <RJVM> <BEA-000570> <Network Configuration for Channel "AdminServer"
 Listen Address         :7001
 Public Address         N/A
 Http Enabled         true
 Tunneling Enabled     true
 Outbound Enabled     false
 Admin Traffic Enabled     true ResolveDNSName Enabled     false> 
<2025-12-21T21:55:44,291CET> <Info> <RJVM> <BEA-000570> <Network Configuration for Channel "AdminServer"
 Listen Address         :7002 (SSL)
 Public Address         N/A
 Http Enabled         true
 Tunneling Enabled     true
 Outbound Enabled     false
 Admin Traffic Enabled     true ResolveDNSName Enabled     false> 
<2025-12-21T21:55:44,333CET> <Info> <Server> <BEA-002609> <Channel Service initialized.> 
<2025-12-21T21:55:44,582CET> <Info> <XML> <BEA-130036> <Initializing XMLRegistry> 
<2025-12-21T21:55:44,599CET> <Info> <Socket> <BEA-000436> <Allocating 4 reader threads.> 
<2025-12-21T21:55:44,599CET> <Info> <Socket> <BEA-000446> <Native I/O enabled.> 
<2025-12-21T21:55:44,610CET> <Info> <Management> <BEA-141278> <Java entropy configuration is: System property "java.security.egd= null"; JRE's java.security file property "securerandom.source= file:/dev/random"; Blocking Config= true; JDK version= 21.0.5; Operating System= Linux.> 
<2025-12-21T21:55:44,611CET> <Info> <Management> <BEA-141279> <Detected BLOCKING java entropy configuration. This is the most secure setting, but may cause performance issues on machines with few sources of entropy.> 
<2025-12-21T21:55:44,611CET> <Info> <Management> <BEA-141187> <Java system properties are defined as follows: 
file.encoding = UTF-8
file.separator = /
java.class.path = /home/app/weblogic-14.1.2/wlserver/../oracle_common/modules/com.oracle.webservices.wls.wls-jaxrpc.jar:/home/app/weblogic-14.1.2/wlserver/server/lib/weblogic.jar:/home/app/weblogic-14.1.2/wlserver/modules/features/oracle.wls.common.nodemanager.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbynet.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbytools.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbyclient.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derby.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbyshared.jar:/home/app/weblogic-14.1.2/wlserver/common/derby/lib/derbyoptionaltools.jar
java.class.version = 65.0
java.home = /usr/lib/jvm/jdk-21.0.5-oracle-x64
java.io.tmpdir = /tmp
java.library.path = ::/home/app/weblogic-14.1.2/wlserver/server/native/linux/x86_64:/home/app/weblogic-14.1.2/wlserver/server/native/linux/x86_64/oci920_8:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
java.naming.factory.initial = weblogic.jndi.WLInitialContextFactory
java.naming.factory.url.pkgs = weblogic.jndi.factories:weblogic.corba.j2ee.naming.url:weblogic.jndi.factories:weblogic.corba.j2ee.naming.url
java.runtime.name = Java(TM) SE Runtime Environment
java.runtime.version = 21.0.5+9-LTS-239
java.security.policy = /home/app/weblogic-14.1.2/wlserver/server/lib/weblogic.policy
java.specification.name = Java Platform API Specification
java.specification.vendor = Oracle Corporation
java.specification.version = 21
java.system.class.loader = com.oracle.classloader.weblogic.LaunchClassLoader
java.util.logging.config.file = /app/domains/dave_domain/logging.properties
java.vendor = Oracle Corporation
java.vendor.url = https://java.oracle.com/
java.vendor.url.bug = https://bugreport.java.com/bugreport/
java.version = 21.0.5
java.version.date = 2024-10-15
java.vm.compressedOopsMode = 32-bit
java.vm.info = mixed mode, sharing
java.vm.name = Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name = Java Virtual Machine Specification
java.vm.specification.vendor = Oracle Corporation
java.vm.specification.version = 21
java.vm.vendor = Oracle Corporation
java.vm.version = 21.0.5+9-LTS-239
javax.management.builder.initial = weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder
javax.rmi.CORBA.PortableRemoteObjectClass = weblogic.iiop.PortableRemoteObjectDelegateImpl
javax.rmi.CORBA.UtilClass = weblogic.iiop.UtilDelegateImpl
jdk.debug = release
launch.use.env.classpath = true
native.encoding = UTF-8
org.omg.CORBA.ORBClass = weblogic.corba.orb.ORB
org.omg.CORBA.ORBSingletonClass = weblogic.corba.orb.ORB
os.arch = amd64
os.name = Linux
os.version = 6.17.12-300.fc43.x86_64
path.separator = :
stderr.encoding = UTF-8
stdout.encoding = UTF-8
sun.arch.data.model = 64
sun.boot.library.path = /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib
sun.cpu.endian = little
sun.io.unicode.encoding = UnicodeLittle
sun.java.command = weblogic.Server
sun.java.launcher = SUN_STANDARD
sun.jnu.encoding = UTF-8
sun.management.compiler = HotSpot 64-Bit Tiered Compilers
user.country = US
user.dir = /home/app/domains/dave_domain
user.home = /home/dave
user.language = en
user.name = dave
user.timezone = Europe/Prague
vde.home = /home/app/domains/dave_domain/servers/AdminServer/data/ldap
weblogic.Name = AdminServer
weblogic.home = /home/app/weblogic-14.1.2/wlserver/server
weblogic.log.RedirectStdoutToServerLogEnabled = true
weblogic.log.StdoutSeverity = Info
wls.home = /home/app/weblogic-14.1.2/wlserver/server
.> 
<Dec 21, 2025, 9:55:44,633 PM Central European Standard Time> <Notice> <LoggingService> <BEA-320400> <The log file /home/app/domains/dave_domain/servers/AdminServer/logs/AdminServer.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms, such as Windows.> 
<Dec 21, 2025, 9:55:44,634 PM Central European Standard Time> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to /home/app/domains/dave_domain/servers/AdminServer/logs/AdminServer.log00020. Log messages will continue to be logged in /home/app/domains/dave_domain/servers/AdminServer/logs/AdminServer.log.> 
<2025-12-21T21:55:44,653CET> <Notice> <Log Management> <BEA-170019> <The server log file weblogic.logging.FileStreamHandler instance=323078282
Current log file=/home/app/domains/dave_domain/servers/AdminServer/logs/AdminServer.log
Rotation dir=/home/app/domains/dave_domain/servers/AdminServer/logs
 is opened. All server side log events will be written to this file.> 
<2025-12-21T21:55:44,659CET> <Info> <Log Management> <BEA-170023> <The Server Logging is initialized with Java Logging API implementation.> 
<2025-12-21T21:55:44,684CET> <Info> <Log Management> <BEA-170025> <Initialized Domain Logging. Domain log events will be written to /home/app/domains/dave_domain/servers/AdminServer/logs/dave_domain.log.> 
<2025-12-21T21:55:44,690CET> <Info> <IIOP> <BEA-002014> <IIOP subsystem enabled.> 
<2025-12-21T21:55:44,752CET> <Info> <Diagnostics> <BEA-320001> <The ServerDebug service initialized successfully.> 
<2025-12-21T21:55:44,846CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WLS_DIAGNOSTICS" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/data/store/diagnostics requestedWritePolicy="Disabled" fileLockingEnabled=false driver="wlfileio3".> 
<2025-12-21T21:55:44,866CET> <Info> <Store> <BEA-280103> <The persistent file store "WLS_DIAGNOSTICS" will cache in weblogic.store.io.file.direct.FileMapping[granularity=4096 io=mapped].> 
<2025-12-21T21:55:44,881CET> <Info> <Store> <BEA-280009> <The persistent file store "WLS_DIAGNOSTICS" (0b690f1c-259f-4179-b92b-1e7fb949e926) has been opened: blockSize=512 actualWritePolicy="Disabled(single-handle-non-direct)" explicitIOEnforced=false records=33.> 
<2025-12-21T21:55:45,092CET> <Notice> <Security> <BEA-090946> <Security pre-initializing using security realm: myrealm> 
<2025-12-21T21:55:45,100CET> <Info> <Security> <BEA-090909> <Using the configured custom SSL Hostname Verifier implementation: weblogic.security.utils.SSLWLSHostnameVerifier$NullHostnameVerifier.> 
<2025-12-21T21:55:45,247CET> <Notice> <Security> <BEA-090171> <Loading the identity certificate and private key stored under the alias DemoIdentity from the pkcs12 keystore file /app/domains/dave_domain/security/DemoIdentity.p12.> 
<2025-12-21T21:55:45,451CET> <Info> <Security> <BEA-000000> <Starting OpenJPA 1.1.1> 
<2025-12-21T21:55:45,525CET> <Info> <Security> <BEA-000000> <StoreServiceImpl.initJDO - StoreService is initialized with Id = ldap_e4nPimS/9S88e4AguhAtdPpVgdI=> 
<2025-12-21T21:55:45,566CET> <Info> <Security> <BEA-090516> <The Authenticator provider has pre-existing LDAP data.> 
<2025-12-21T21:55:45,623CET> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the pkcs12 keystore file /app/domains/dave_domain/security/DemoTrust.p12.> 
<2025-12-21T21:55:45,643CET> <Notice> <Security> <BEA-090947> <Security post-initializing using security realm: myrealm> 
<2025-12-21T21:55:45,660CET> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /home/app/weblogic-14.1.2/wlserver/server/lib/DemoTrust.jks.> 
<2025-12-21T21:55:45,662CET> <Notice> <Security> <BEA-090169> <Loading trusted certificates from the jks keystore file /usr/lib/jvm/jdk-21.0.5-oracle-x64/lib/security/cacerts.> 
<2025-12-21T21:55:45,668CET> <Info> <WebLogicServer> <BEA-000307> <Exportable key maximum lifespan set to 500 uses.> 
<2025-12-21T21:55:45,774CET> <Info> <Security> <BEA-090516> <The Authorizer provider has preexisting LDAP data.> 
<2025-12-21T21:55:47,010CET> <Info> <Security> <BEA-090516> <The CredentialMapper provider has preexisting LDAP data.> 
<2025-12-21T21:55:47,017CET> <Info> <Security> <BEA-090516> <The RoleMapper provider has preexisting LDAP data.> 
<2025-12-21T21:55:47,129CET> <Notice> <Security> <BEA-090082> <Security initialized using administrative security realm: myrealm> 
<2025-12-21T21:55:47,320CET> <Info> <Connector> <BEA-190000> <Initializing Java EE Connector Service.> 
<2025-12-21T21:55:47,329CET> <Info> <Connector> <BEA-190001> <Java EE Connector Service initialized successfully.> 
<2025-12-21T21:55:47,368CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "_WLS_AdminServer" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/data/store/default requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:47,387CET> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.0.115:7001/jndi/weblogic.management.mbeanservers.runtime.> 
<2025-12-21T21:55:47,469CET> <Info> <JMS> <BEA-040305> <JMS service is initialized and in standby mode.> 
<2025-12-21T21:55:47,514CET> <Info> <JMS> <BEA-040090> <Deployed 8 default connection factories.> 
<2025-12-21T21:55:47,517CET> <Info> <messaging.interception> <BEA-400000> <Initializing message interception service.> 
<2025-12-21T21:55:47,521CET> <Info> <JMS> <BEA-040407> <Default connection factory "DefaultConnectionFactory" with its JNDI name "weblogic.jms.ConnectionFactory" is started.> 
<2025-12-21T21:55:47,522CET> <Info> <JMS> <BEA-040407> <Default connection factory "TopicConnectionFactory" with its JNDI name "javax.jms.TopicConnectionFactory" is started.> 
<2025-12-21T21:55:47,522CET> <Info> <JMS> <BEA-040407> <Default connection factory "DefaultXAConnectionFactory1" with its JNDI name "weblogic.jms.XAConnectionFactory1" is started.> 
<2025-12-21T21:55:47,523CET> <Info> <JMS> <BEA-040407> <Default connection factory "DefaultXAConnectionFactory0" with its JNDI name "weblogic.jms.XAConnectionFactory0" is started.> 
<2025-12-21T21:55:47,523CET> <Info> <JMS> <BEA-040407> <Default connection factory "PlatformDefaultConnectionFactory" with its JNDI name "weblogic.jms.DefaultConnectionFactory" is started.> 
<2025-12-21T21:55:47,524CET> <Info> <JMS> <BEA-040407> <Default connection factory "QueueConnectionFactory" with its JNDI name "javax.jms.QueueConnectionFactory" is started.> 
<2025-12-21T21:55:47,527CET> <Info> <JMS> <BEA-040407> <Default connection factory "MessageDrivenBeanConnectionFactory" with its JNDI name "weblogic.jms.MessageDrivenBeanConnectionFactory" is started.> 
<2025-12-21T21:55:47,531CET> <Info> <JMS> <BEA-040407> <Default connection factory "DefaultXAConnectionFactory" with its JNDI name "weblogic.jms.XAConnectionFactory" is started.> 
<2025-12-21T21:55:47,532CET> <Info> <JMS> <BEA-040407> <Default connection factory "DefaultXAConnectionFactory2" with its JNDI name "weblogic.jms.XAConnectionFactory2" is started.> 
<2025-12-21T21:55:47,533CET> <Info> <JMS> <BEA-040306> <JMS service is active now.> 
<2025-12-21T21:55:47,583CET> <Info> <Store> <BEA-280009> <The persistent file store "_WLS_AdminServer" (78fff7ef-2dfc-438c-b24e-00fc9e8d8802) has been opened: blockSize=512 actualWritePolicy="Direct-Write(read-buffered)" explicitIOEnforced=false records=19.> 
<2025-12-21T21:55:47,657CET> <Info> <JDBC> <BEA-001135> <Initializing the JDBC service.> 
<2025-12-21T21:55:47,686CET> <Info> <JDBC> <BEA-001137> <Initialization complete.> 
<2025-12-21T21:55:47,686CET> <Info> <JDBC> <BEA-001138> <Resuming the JDBC service.> 
<2025-12-21T21:55:47,687CET> <Info> <JDBC> <BEA-001140> <Resume complete.> 
<2025-12-21T21:55:47,722CET> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.0.115:7001/jndi/weblogic.management.mbeanservers.domainruntime.> 
<2025-12-21T21:55:47,744CET> <Info> <HTTP> <BEA-101128> <Initializing HTTP services.> 
<2025-12-21T21:55:47,758CET> <Info> <HTTP> <BEA-101135> <AdminServer is the default Web server.> 
<2025-12-21T21:55:47,758CET> <Info> <HTTP> <BEA-101052> <[HttpServer (defaultWebserver) name: AdminServer] Initialized> 
<2025-12-21T21:55:47,767CET> <Info> <HTTP> <BEA-101129> <Initializing the Web application container.> 
<2025-12-21T21:55:47,782CET> <Info> <Server> <BEA-002622> <The protocol "[admin, iiops, snmp, ldaps, cluster-broadcast-secure, iiop, t3s, ldap, cluster-broadcast, http, https, t3]" is now configured.> 
<2025-12-21T21:55:47,836CET> <Notice> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.0.115:7001/jndi/weblogic.management.mbeanservers.edit.> 
<2025-12-21T21:55:47,958CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.jaxws.mdb.DispatchPolicy" WorkManagerMBean for application "bea_wls_internal"> 
<2025-12-21T21:55:47,960CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.mdb.DispatchPolicy" WorkManagerMBean for application "bea_wls_internal"> 
<2025-12-21T21:55:48,168CET> <Info> <CONCURRENCY> <BEA-2162601> <Creating ContextService "DefaultContextService" (module="null", application="bea_wls_internal")> 
<2025-12-21T21:55:48,176CET> <Info> <CONCURRENCY> <BEA-2162600> <Creating ManagedThreadFactory "DefaultManagedThreadFactory" (module="null", application="bea_wls_internal")> 
<2025-12-21T21:55:48,180CET> <Info> <CONCURRENCY> <BEA-2162610> <Creating ManagedExecutorService "DefaultManagedExecutorService" (module="null", application="bea_wls_internal", workmanager="default")> 
<2025-12-21T21:55:48,182CET> <Info> <CONCURRENCY> <BEA-2162611> <Creating ManagedScheduledExecutorService "DefaultManagedScheduledExecutorService" (module="null", application="bea_wls_internal", workmanager="default")> 
<2025-12-21T21:55:49,334CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.> 
<2025-12-21T21:55:49,334CET> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 
<2025-12-21T21:55:49,376CET> <Notice> <Log Management> <BEA-170036> <The Logging monitoring service timer has started to check for logged message counts every 30 seconds.> 
<2025-12-21T21:55:49,378CET> <Info> <Log Management> <BEA-170031> <The Server Logging bridge has initialized successfully.> 
<2025-12-21T21:55:49,383CET> <Info> <SAFService> <BEA-281003> <The SAF service has been initialized.> 
<2025-12-21T21:55:49,384CET> <Info> <SAFService> <BEA-281002> <The SAF service has been started.> 
<2025-12-21T21:55:49,407CET> <Info> <Deployer> <BEA-149209> <The Slave Deployer is resuming.> 
<2025-12-21T21:55:49,495CET> <Info> <EJB> <BEA-015076> <EJB module [mejb.jar] created.> 
<2025-12-21T21:55:49,572CET> <Info> <SAFService> <BEA-281007> <SAF Agent "ReliableWseeJaxwsSAFAgent@AdminServer" has been successfully prepared.> 
<2025-12-21T21:55:49,577CET> <Info> <SAFService> <BEA-281007> <SAF Agent "ReliableWseeSAFAgent@AdminServer" has been successfully prepared.> 
<2025-12-21T21:55:49,604CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WseeFileStore" for recovery: directory=/home/app/domains/dave_domain/WseeFileStore requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:49,873CET> <Info> <Store> <BEA-280009> <The persistent file store "WseeFileStore" (fa105a8a-d3e8-4dbb-bd63-c410031063bc) has been opened: blockSize=512 actualWritePolicy="Direct-Write(read-buffered)" explicitIOEnforced=false records=21.> 
<2025-12-21T21:55:49,906CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WseeJaxwsFileStore" for recovery: directory=/home/app/domains/dave_domain/WseeJaxwsFileStore requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,197CET> <Info> <Store> <BEA-280009> <The persistent file store "WseeJaxwsFileStore" (717f6ab0-a7a9-410a-b219-1ac90f21ba29) has been opened: blockSize=512 actualWritePolicy="Direct-Write(read-buffered)" explicitIOEnforced=false records=23.> 
<2025-12-21T21:55:50,217CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WseeSoapjmsFileStore" for recovery: directory=/home/app/domains/dave_domain/WseeSoapjmsFileStore requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,495CET> <Info> <Store> <BEA-280009> <The persistent file store "WseeSoapjmsFileStore" (464fe2f7-c512-411b-8b85-dbd36491586f) has been opened: blockSize=512 actualWritePolicy="Direct-Write(read-buffered)" explicitIOEnforced=false records=11.> 
<2025-12-21T21:55:50,508CET> <Info> <JMS> <BEA-040321> <JMSServer "ReliableWseeJaxwsSAFAgent" is resuming.> 
<2025-12-21T21:55:50,536CET> <Info> <Messaging> <BEA-282003> <The messaging kernel ReliableWseeJaxwsSAFAgent will use up to 178,956,970 bytes of memory before paging begins.> 
<2025-12-21T21:55:50,541CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "ReliableWseeJaxwsSAFAgent" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/tmp requestedWritePolicy="Non-Durable" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,548CET> <Info> <Messaging> <BEA-282001> <The messaging kernel ReliableWseeJaxwsSAFAgent is beginning recovery of its persistent state.> 
<2025-12-21T21:55:50,554CET> <Info> <Messaging> <BEA-282002> <The messaging kernel ReliableWseeJaxwsSAFAgent has recovered 0 persistent messages.> 
<2025-12-21T21:55:50,570CET> <Info> <SAFService> <BEA-281008> <SAF Agent "ReliableWseeJaxwsSAFAgent@AdminServer" has been successfully activated.> 
<2025-12-21T21:55:50,573CET> <Info> <JMS> <BEA-040321> <JMSServer "ReliableWseeSAFAgent" is resuming.> 
<2025-12-21T21:55:50,574CET> <Info> <Messaging> <BEA-282003> <The messaging kernel ReliableWseeSAFAgent will use up to 178,956,970 bytes of memory before paging begins.> 
<2025-12-21T21:55:50,579CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "ReliableWseeSAFAgent" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/tmp requestedWritePolicy="Non-Durable" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,580CET> <Info> <Messaging> <BEA-282001> <The messaging kernel ReliableWseeSAFAgent is beginning recovery of its persistent state.> 
<2025-12-21T21:55:50,584CET> <Info> <Messaging> <BEA-282002> <The messaging kernel ReliableWseeSAFAgent has recovered 0 persistent messages.> 
<2025-12-21T21:55:50,588CET> <Info> <SAFService> <BEA-281008> <SAF Agent "ReliableWseeSAFAgent@AdminServer" has been successfully activated.> 
<2025-12-21T21:55:50,590CET> <Info> <JMS> <BEA-040321> <JMSServer "WseeJaxwsJmsServer" is resuming.> 
<2025-12-21T21:55:50,590CET> <Info> <Messaging> <BEA-282003> <The messaging kernel WseeJaxwsJmsServer will use up to 178,956,970 bytes of memory before paging begins.> 
<2025-12-21T21:55:50,596CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WseeJaxwsJmsServer" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/tmp requestedWritePolicy="Non-Durable" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,597CET> <Info> <Messaging> <BEA-282001> <The messaging kernel WseeJaxwsJmsServer is beginning recovery of its persistent state.> 
<2025-12-21T21:55:50,609CET> <Info> <Messaging> <BEA-282002> <The messaging kernel WseeJaxwsJmsServer has recovered 0 persistent messages.> 
<2025-12-21T21:55:50,618CET> <Info> <JMS> <BEA-040321> <JMSServer "WseeJmsServer" is resuming.> 
<2025-12-21T21:55:50,618CET> <Info> <Messaging> <BEA-282003> <The messaging kernel WseeJmsServer will use up to 178,956,970 bytes of memory before paging begins.> 
<2025-12-21T21:55:50,622CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WseeJmsServer" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/tmp requestedWritePolicy="Non-Durable" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,623CET> <Info> <Messaging> <BEA-282001> <The messaging kernel WseeJmsServer is beginning recovery of its persistent state.> 
<2025-12-21T21:55:50,631CET> <Info> <Messaging> <BEA-282002> <The messaging kernel WseeJmsServer has recovered 0 persistent messages.> 
<2025-12-21T21:55:50,634CET> <Info> <JMS> <BEA-040321> <JMSServer "WseeSoapjmsJmsServer" is resuming.> 
<2025-12-21T21:55:50,635CET> <Info> <Messaging> <BEA-282003> <The messaging kernel WseeSoapjmsJmsServer will use up to 178,956,970 bytes of memory before paging begins.> 
<2025-12-21T21:55:50,639CET> <Info> <Store> <BEA-280008> <Opening the persistent file store "WseeSoapjmsJmsServer" for recovery: directory=/home/app/domains/dave_domain/servers/AdminServer/tmp requestedWritePolicy="Non-Durable" fileLockingEnabled=true driver="wlfileio3".> 
<2025-12-21T21:55:50,640CET> <Info> <Messaging> <BEA-282001> <The messaging kernel WseeSoapjmsJmsServer is beginning recovery of its persistent state.> 
<2025-12-21T21:55:50,645CET> <Info> <Messaging> <BEA-282002> <The messaging kernel WseeSoapjmsJmsServer has recovered 0 persistent messages.> 
<2025-12-21T21:55:50,655CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.jaxws.mdb.DispatchPolicy" WorkManagerMBean for application "WseeJaxwsJmsModule"> 
<2025-12-21T21:55:50,655CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.mdb.DispatchPolicy" WorkManagerMBean for application "WseeJaxwsJmsModule"> 
<2025-12-21T21:55:50,700CET> <Info> <CONCURRENCY> <BEA-2162601> <Creating ContextService "DefaultContextService" (module="null", application="WseeJaxwsJmsModule")> 
<2025-12-21T21:55:50,700CET> <Info> <CONCURRENCY> <BEA-2162600> <Creating ManagedThreadFactory "DefaultManagedThreadFactory" (module="null", application="WseeJaxwsJmsModule")> 
<2025-12-21T21:55:50,702CET> <Info> <CONCURRENCY> <BEA-2162610> <Creating ManagedExecutorService "DefaultManagedExecutorService" (module="null", application="WseeJaxwsJmsModule", workmanager="default")> 
<2025-12-21T21:55:50,703CET> <Info> <CONCURRENCY> <BEA-2162611> <Creating ManagedScheduledExecutorService "DefaultManagedScheduledExecutorService" (module="null", application="WseeJaxwsJmsModule", workmanager="default")> 
<2025-12-21T21:55:51,069CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.jaxws.mdb.DispatchPolicy" WorkManagerMBean for application "WseeJmsModule"> 
<2025-12-21T21:55:51,070CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.mdb.DispatchPolicy" WorkManagerMBean for application "WseeJmsModule"> 
<2025-12-21T21:55:51,079CET> <Info> <CONCURRENCY> <BEA-2162601> <Creating ContextService "DefaultContextService" (module="null", application="WseeJmsModule")> 
<2025-12-21T21:55:51,080CET> <Info> <CONCURRENCY> <BEA-2162600> <Creating ManagedThreadFactory "DefaultManagedThreadFactory" (module="null", application="WseeJmsModule")> 
<2025-12-21T21:55:51,080CET> <Info> <CONCURRENCY> <BEA-2162610> <Creating ManagedExecutorService "DefaultManagedExecutorService" (module="null", application="WseeJmsModule", workmanager="default")> 
<2025-12-21T21:55:51,081CET> <Info> <CONCURRENCY> <BEA-2162611> <Creating ManagedScheduledExecutorService "DefaultManagedScheduledExecutorService" (module="null", application="WseeJmsModule", workmanager="default")> 
<2025-12-21T21:55:51,121CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.jaxws.mdb.DispatchPolicy" WorkManagerMBean for application "WseeSoapjmsJmsModule"> 
<2025-12-21T21:55:51,122CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.mdb.DispatchPolicy" WorkManagerMBean for application "WseeSoapjmsJmsModule"> 
<2025-12-21T21:55:51,130CET> <Info> <CONCURRENCY> <BEA-2162601> <Creating ContextService "DefaultContextService" (module="null", application="WseeSoapjmsJmsModule")> 
<2025-12-21T21:55:51,131CET> <Info> <CONCURRENCY> <BEA-2162600> <Creating ManagedThreadFactory "DefaultManagedThreadFactory" (module="null", application="WseeSoapjmsJmsModule")> 
<2025-12-21T21:55:51,131CET> <Info> <CONCURRENCY> <BEA-2162610> <Creating ManagedExecutorService "DefaultManagedExecutorService" (module="null", application="WseeSoapjmsJmsModule", workmanager="default")> 
<2025-12-21T21:55:51,132CET> <Info> <CONCURRENCY> <BEA-2162611> <Creating ManagedScheduledExecutorService "DefaultManagedScheduledExecutorService" (module="null", application="WseeSoapjmsJmsModule", workmanager="default")> 
<2025-12-21T21:55:51,171CET> <Info> <JMS> <BEA-040108> <User connection factory "WseeSoapjmsJmsModule!com.oracle.webservices.api.jms.ConnectionFactory" is started.> 
<2025-12-21T21:55:51,185CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.jaxws.mdb.DispatchPolicy" WorkManagerMBean for application "state-management-provider-memory-rar"> 
<2025-12-21T21:55:51,185CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.mdb.DispatchPolicy" WorkManagerMBean for application "state-management-provider-memory-rar"> 
<2025-12-21T21:55:51,188CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.jaxws.mdb.DispatchPolicy" WorkManagerMBean for application "basicWebappEjb"> 
<2025-12-21T21:55:51,189CET> <Info> <WorkManager> <BEA-002903> <Creating Work Manager from "weblogic.wsee.mdb.DispatchPolicy" WorkManagerMBean for application "basicWebappEjb"> 
<2025-12-21T21:55:51,270CET> <Info> <CONCURRENCY> <BEA-2162601> <Creating ContextService "DefaultContextService" (module="null", application="basicWebappEjb")> 
<2025-12-21T21:55:51,270CET> <Info> <CONCURRENCY> <BEA-2162600> <Creating ManagedThreadFactory "DefaultManagedThreadFactory" (module="null", application="basicWebappEjb")> 
<2025-12-21T21:55:51,271CET> <Info> <CONCURRENCY> <BEA-2162610> <Creating ManagedExecutorService "DefaultManagedExecutorService" (module="null", application="basicWebappEjb", workmanager="default")> 
<2025-12-21T21:55:51,272CET> <Info> <CONCURRENCY> <BEA-2162611> <Creating ManagedScheduledExecutorService "DefaultManagedScheduledExecutorService" (module="null", application="basicWebappEjb", workmanager="default")> 
<2025-12-21T21:55:51,275CET> <Info> <CONCURRENCY> <BEA-2162601> <Creating ContextService "DefaultContextService" (module="null", application="state-management-provider-memory-rar")> 
<2025-12-21T21:55:51,275CET> <Info> <CONCURRENCY> <BEA-2162600> <Creating ManagedThreadFactory "DefaultManagedThreadFactory" (module="null", application="state-management-provider-memory-rar")> 
<2025-12-21T21:55:51,276CET> <Info> <CONCURRENCY> <BEA-2162610> <Creating ManagedExecutorService "DefaultManagedExecutorService" (module="null", application="state-management-provider-memory-rar", workmanager="default")> 
<2025-12-21T21:55:51,277CET> <Info> <CONCURRENCY> <BEA-2162611> <Creating ManagedScheduledExecutorService "DefaultManagedScheduledExecutorService" (module="null", application="state-management-provider-memory-rar", workmanager="default")> 


Wednesday, November 5, 2025

Weblogic 14.1.2 EJB client with JNDI lookup

 HOWTO



Git


Blog

 

 Add t3 client  

dependency>
    <groupId>com.oracle.weblogic</groupId>
    <artifactId>wlthint3client</artifactId>
    <version>14.1.2-0-0</version>
</dependency>

JNDI names

     java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote

Trying JNDI name: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
✓ Successfully looked up AccountManagerRemote EJB at: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
Depositing $100.5 to account: john.doe

EJB

package dave.service;

import javax.ejb.Stateless;
import javax.ejb.Remote;
import javax.ejb.Local;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.annotation.sql.DataSourceDefinition;

import dave.entity.Account;

/**
 * Option 1: Use name attribute to define the EJB name
 * The JNDI name will be: java:global/<app-name>/<ejb-name>!<interface>
 * 
 * Option 2: Use mappedName for explicit JNDI binding (WebLogic-specific)
 * mappedName = "ejb/AccountManager"
 */
@Stateless(name = "AccountManagerEJB")
@Local(AccountManager.class)
@Remote(AccountManagerRemote.class)
//Data Source defined for JPA. It assume the derby database is started up and listen to localhost:1527
@DataSourceDefinition(name = "java:module/env/mavenArchetypeDataSource", className = "org.apache.derby.jdbc.ClientXADataSource", portNumber = 1527, serverName = "localhost", databaseName = "examples", user = "examples", password = "examples", properties={"create=true", "weblogic.TestTableName=SQL SELECT 1 FROM SYS.SYSTABLES"})
public class AccountManagerImpl implements AccountManager, AccountManagerRemote {

  @PersistenceContext
  private EntityManager em;
  
  public void depositOnAccount(String name, float amount) {
    Account account = em.find(Account.class, name);
    if (account == null) {
      account = new Account();
      account.setName(name);
    }
    account.setAmount(account.getAmount() + amount);
    em.persist(account);
  }
  
  public Account findAccount(String name) {
    return em.find(Account.class, name);
  }
}

JNDI EJB client

/**
 * External Java EJB Client for AccountManager
 */
package dave.client;

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import dave.service.AccountManagerRemote;
import dave.entity.Account;

public class AccountManagerClient {

    private static final String WEBLOGIC_JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
    private static final String PROVIDER_URL = "t3://localhost:7001";
    
    /**
     * JNDI lookup patterns for WebLogic:
     * 
     * Pattern 1 (Portable Global JNDI):
     * java:global/<app-name>/<module-name>/<bean-name>!<fully-qualified-interface-name>
     * Example: java:global/basicWebappEjb/AccountManagerImpl!dave.service.AccountManagerRemote
     * 
     * Pattern 2 (WebLogic-specific):
     * <ejb-name>#<fully-qualified-interface-name>
     * Example: AccountManagerImpl#dave.service.AccountManagerRemote
     * 
     * Pattern 3 (Application-scoped):
     * java:app/<module-name>/<bean-name>!<fully-qualified-interface-name>
     */
    // Multiple JNDI names to try - WebLogic registers EJBs with multiple patterns
    private static final String[] JNDI_NAMES = {
        // Using custom name="AccountManagerEJB"
        "java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote",
        "java:global/basicWebappEjb/AccountManagerEJB",
        // Fallback to default names
        "java:global/basicWebappEjb/AccountManagerImpl!dave.service.AccountManagerRemote",
        "java:global/basicWebappEjb/AccountManagerImpl",
        "basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote",
        "ejb/AccountManager#dave.service.AccountManagerRemote"
    };
    
    public static void main(String[] args) {
        AccountManagerClient client = new AccountManagerClient();
        try {
            client.testEJB();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    public void testEJB() throws NamingException {
        Context context = null;
        try {
            // Get initial context
            context = getInitialContext();
            
            // Try multiple JNDI names
            AccountManagerRemote accountManager = null;
            String successfulJndiName = null;
            
            for (String jndiName : JNDI_NAMES) {
                try {
                    System.out.println("Trying JNDI name: " + jndiName);
                    accountManager = (AccountManagerRemote) context.lookup(jndiName);
                    successfulJndiName = jndiName;
                    System.out.println("✓ Successfully looked up AccountManagerRemote EJB at: " + jndiName);
                    break;
                } catch (NamingException e) {
                    System.out.println("✗ Failed: " + e.getMessage());
                }
            }
            
            if (accountManager == null) {
                throw new NamingException("Could not find EJB with any of the attempted JNDI names");
            }
            
            // Test deposit
            String accountName = "john.doe";
            float depositAmount = 100.50f;
            
            System.out.println("Depositing $" + depositAmount + " to account: " + accountName);
            accountManager.depositOnAccount(accountName, depositAmount);
            
            // Test find
            Account account = accountManager.findAccount(accountName);
            if (account != null) {
                System.out.println("Account found: " + account.getName() + 
                                   ", Balance: $" + account.getAmount());
            } else {
                System.out.println("Account not found");
            }
            
        } finally {
            if (context != null) {
                try {
                    context.close();
                } catch (NamingException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    /**
     * Create InitialContext for WebLogic Server
     */
    private Context getInitialContext() throws NamingException {
        Hashtable<String, String> env = new Hashtable<>();
        env.put(Context.INITIAL_CONTEXT_FACTORY, WEBLOGIC_JNDI_FACTORY);
        env.put(Context.PROVIDER_URL, PROVIDER_URL);
        
        // Add credentials - required for WebLogic security
        env.put(Context.SECURITY_PRINCIPAL, "weblogic");
        env.put(Context.SECURITY_CREDENTIALS, "weblogic123");
        
        return new InitialContext(env);
    }
}

Run client from Maven 


dave@fedora:/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project$ mvn compile exec:java -Dexec.mainClass="./src/main/java/dave/client/AccountManagerClient.java"
[INFO] Scanning for projects...
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.1.0/exec-maven-plugin-3.1.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.1.0/exec-maven-plugin-3.1.0.pom (14 kB at 24 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/69/mojo-parent-69.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/69/mojo-parent-69.pom (35 kB at 569 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.1.0/exec-maven-plugin-3.1.0.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/codehaus/mojo/exec-maven-plugin/3.1.0/exec-maven-plugin-3.1.0.jar (73 kB at 982 kB/s)
[INFO] 
[INFO] -----------------&lt; dave:dave-basic-webapp-ejb-project &gt;-----------------
[INFO] Building basicWebappEjb 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ dave-basic-webapp-ejb-project ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource from src/main/resources to target/classes
[INFO] 
[INFO] --- compiler:2.3.2:compile (default-compile) @ dave-basic-webapp-ejb-project ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- exec:3.1.0:java (default-cli) @ dave-basic-webapp-ejb-project ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3.pom (11 kB at 200 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/35/commons-parent-35.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/35/commons-parent-35.pom (58 kB at 1.2 MB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar (54 kB at 990 kB/s)
Trying JNDI name: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
✓ Successfully looked up AccountManagerRemote EJB at: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
Depositing $100.5 to account: john.doe


Running with debug

directory /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/main/resources
excludes []
includes []
[DEBUG] ignoreDelta true
[INFO] Copying 1 resource from src/main/resources to target/classes
[DEBUG] Copying file META-INF/persistence.xml
[DEBUG] file persistence.xml has a filtered file extension
[DEBUG] Using 'null' encoding to copy filtered resource 'persistence.xml'.
[DEBUG] copy /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/main/resources/META-INF/persistence.xml to /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes/META-INF/persistence.xml
[DEBUG] no user filter components
[INFO] 
[INFO] --- compiler:2.3.2:compile (default-compile) @ dave-basic-webapp-ejb-project ---
[DEBUG] Using mirror maven-default-http-blocker (http://0.0.0.0/) for apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository).
[DEBUG] Using mirror maven-default-http-blocker (http://0.0.0.0/) for codehaus.snapshots (http://snapshots.repository.codehaus.org).
[DEBUG] Using mirror maven-default-http-blocker (http://0.0.0.0/) for snapshots (http://snapshots.maven.codehaus.org/maven2).
[DEBUG] Using mirror maven-default-http-blocker (http://0.0.0.0/) for central (http://repo1.maven.org/maven2).
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=227695, ConflictMarker.markTime=109858, ConflictMarker.nodeCount=101, ConflictIdSorter.graphTime=103733, ConflictIdSorter.topsortTime=20479, ConflictIdSorter.conflictIdCount=27, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=1003151, ConflictResolver.conflictItemCount=49, DfDependencyCollector.collectTime=66446805, DfDependencyCollector.transformTime=1481816}
[DEBUG] org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2
[DEBUG]    org.apache.maven:maven-plugin-api:jar:2.0.6:compile
[DEBUG]    org.apache.maven:maven-artifact:jar:2.0.6:compile
[DEBUG]    org.apache.maven:maven-core:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-settings:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-profile:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-model:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-error-diagnostics:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-project:jar:2.0.6:compile
[DEBUG]          org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-plugin-descriptor:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-monitor:jar:2.0.6:compile
[DEBUG]    org.apache.maven:maven-toolchain:jar:1.0:compile
[DEBUG]    org.codehaus.plexus:plexus-utils:jar:2.0.5:compile
[DEBUG]    org.codehaus.plexus:plexus-compiler-api:jar:1.8.1:compile
[DEBUG]    org.codehaus.plexus:plexus-compiler-manager:jar:1.8.1:compile
[DEBUG]    org.codehaus.plexus:plexus-compiler-javac:jar:1.8.1:runtime
[DEBUG] Created new class realm plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[DEBUG] Importing foreign packages into class realm plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[DEBUG]   Included: org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2
[DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:2.0.5
[DEBUG]   Included: org.codehaus.plexus:plexus-compiler-api:jar:1.8.1
[DEBUG]   Included: org.codehaus.plexus:plexus-compiler-manager:jar:1.8.1
[DEBUG]   Included: org.codehaus.plexus:plexus-compiler-javac:jar:1.8.1
[DEBUG] Loading mojo org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@5ffd2b27]
[DEBUG] Configuring mojo execution 'org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile:default-compile' with basic configurator -->
[DEBUG]   (f) basedir = /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project
[DEBUG]   (f) buildDirectory = /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target
[DEBUG]   (f) classpathElements = [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes, /home/dave/.m2/repository/javax/javaee-web-api/6.0/javaee-web-api-6.0.jar, /app/weblogic/weblogic-14.1.2/wlserver/server/lib/wlthint3client.jar, /app/weblogic/weblogic-14.1.2/wlserver/server/lib/weblogic.jar]
[DEBUG]   (f) compileSourceRoots = [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/main/java]
[DEBUG]   (f) compilerId = javac
[DEBUG]   (f) debug = true
[DEBUG]   (f) failOnError = true
[DEBUG]   (f) fork = false
[DEBUG]   (f) generatedSourcesDirectory = /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/generated-sources/annotations
[DEBUG]   (f) optimize = false
[DEBUG]   (f) outputDirectory = /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes
[DEBUG]   (f) outputFileName = basicWebappEjb
[DEBUG]   (f) projectArtifact = dave:dave-basic-webapp-ejb-project:war:1.0-SNAPSHOT
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@588307f7
[DEBUG]   (f) showDeprecation = false
[DEBUG]   (f) showWarnings = false
[DEBUG]   (f) source = 1.8
[DEBUG]   (f) staleMillis = 0
[DEBUG]   (f) target = 1.8
[DEBUG]   (f) verbose = false
[DEBUG] -- end configuration --
[DEBUG] Using compiler 'javac'.
[DEBUG] Source directories: [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/main/java]
[DEBUG] Classpath: [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes
 /home/dave/.m2/repository/javax/javaee-web-api/6.0/javaee-web-api-6.0.jar
 /app/weblogic/weblogic-14.1.2/wlserver/server/lib/wlthint3client.jar
 /app/weblogic/weblogic-14.1.2/wlserver/server/lib/weblogic.jar]
[DEBUG] Output directory: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- exec:3.1.0:java (default-cli) @ dave-basic-webapp-ejb-project ---
[DEBUG] Dependency collection stats {ConflictMarker.analyzeTime=23194, ConflictMarker.markTime=30654, ConflictMarker.nodeCount=4, ConflictIdSorter.graphTime=5608, ConflictIdSorter.topsortTime=10155, ConflictIdSorter.conflictIdCount=4, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=144167, ConflictResolver.conflictItemCount=4, DfDependencyCollector.collectTime=11120279, DfDependencyCollector.transformTime=226745}
[DEBUG] org.codehaus.mojo:exec-maven-plugin:jar:3.1.0
[DEBUG]    org.codehaus.plexus:plexus-utils:jar:3.4.2:compile
[DEBUG]    org.codehaus.plexus:plexus-component-annotations:jar:2.1.1:compile (optional)
[DEBUG]    org.apache.commons:commons-exec:jar:1.3:compile
[DEBUG] Created new class realm plugin>org.codehaus.mojo:exec-maven-plugin:3.1.0
[DEBUG] Importing foreign packages into class realm plugin>org.codehaus.mojo:exec-maven-plugin:3.1.0
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.codehaus.mojo:exec-maven-plugin:3.1.0
[DEBUG]   Included: org.codehaus.mojo:exec-maven-plugin:jar:3.1.0
[DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:3.4.2
[DEBUG]   Included: org.codehaus.plexus:plexus-component-annotations:jar:2.1.1
[DEBUG]   Included: org.apache.commons:commons-exec:jar:1.3
[DEBUG] Loading mojo org.codehaus.mojo:exec-maven-plugin:3.1.0:java from plugin realm ClassRealm[plugin>org.codehaus.mojo:exec-maven-plugin:3.1.0, parent: jdk.internal.loader.ClassLoaders$AppClassLoader@5ffd2b27]
[DEBUG] Configuring mojo execution 'org.codehaus.mojo:exec-maven-plugin:3.1.0:java:default-cli' with basic configurator -->
[DEBUG]   (f) addOutputToClasspath = true
[DEBUG]   (f) addResourcesToClasspath = false
[DEBUG]   (f) additionalClasspathElements = [/app/weblogic/weblogic-14.1.2/wlserver/server/lib/wlthint3client.jar]
[DEBUG]   (f) arguments = []
[DEBUG]   (f) classpathScope = runtime
[DEBUG]   (f) cleanupDaemonThreads = false
[DEBUG]   (f) daemonThreadJoinTimeout = 15000
[DEBUG]   (f) includePluginDependencies = false
[DEBUG]   (f) includeProjectDependencies = true
[DEBUG]   (f) keepAlive = false
[DEBUG]   (f) killAfter = -1
[DEBUG]   (f) mainClass = dave.client.AccountManagerClient
[DEBUG]   (f) pluginDependencies = [org.codehaus.mojo:exec-maven-plugin:maven-plugin:3.1.0:, org.codehaus.plexus:plexus-utils:jar:3.4.2:compile, org.codehaus.plexus:plexus-component-annotations:jar:2.1.1:compile, org.apache.commons:commons-exec:jar:1.3:compile]
[DEBUG]   (f) preloadCommonPool = 0
[DEBUG]   (f) project = MavenProject: dave:dave-basic-webapp-ejb-project:1.0-SNAPSHOT @ /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/pom.xml
[DEBUG]   (f) session = org.apache.maven.execution.MavenSession@588307f7
[DEBUG]   (f) skip = false
[DEBUG]   (f) stopUnresponsiveDaemonThreads = false
[DEBUG] -- end configuration --
[DEBUG] Invoking : dave.client.AccountManagerClient.main()
[DEBUG] Plugin Dependencies will be excluded.
[DEBUG] Project Dependencies will be included.
[DEBUG] Collected project artifacts []
[DEBUG] Collected project classpath [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes]
[DEBUG] Adding to classpath : /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/classes
[DEBUG] Adding additional classpath element: /app/weblogic/weblogic-14.1.2/wlserver/server/lib/wlthint3client.jar to classpath
[DEBUG] joining on thread Thread[#34,dave.client.AccountManagerClient.main(),5,dave.client.AccountManagerClient]
Trying JNDI name: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
✓ Successfully looked up AccountManagerRemote EJB at: java:global/basicWebappEjb/AccountManagerEJB!dave.service.AccountManagerRemote
Depositing $100.5 to account: john.doe


Check JNDI in remote Weblogic 14.1.2 console 

 

 

Saturday, October 25, 2025

Building Jakarta EE Projects for WebLogic Server 14.1.2 with Maven

 HOWTO

 Oracle  

 

Blog

Github

 

Install Oracle Weblogic JARs to local Maven repo using 

Oracle Maven Synchronization Plug-In

 

dave@dave:/git/weblogic/dave-basic-project-14.1.2$ ls /app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom
/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ cd /app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn install:install-file -DpomFile=oracle-maven-sync-14.1.2.pom -Dfile=oracle-maven-sync-14.1.2.jar
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- install:3.1.1:install-file (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar (136 kB at 324 kB/s)
[INFO] Installing /home/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.jar to /home/dave/.m2/repository/com/oracle/maven/oracle-maven-sync/14.1.2-0-0/oracle-maven-sync-14.1.2-0-0.jar
[INFO] Installing /home/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom to /home/dave/.m2/repository/com/oracle/maven/oracle-maven-sync/14.1.2-0-0/oracle-maven-sync-14.1.2-0-0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.933 s
[INFO] Finished at: 2025-10-25T23:34:30+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn help:describe -Dplugin=com.oracle.maven:oracle-maven-sync -Ddetail
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- help:3.2.0:describe (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom (680 B at 2.1 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom (5.9 kB at 155 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.pom
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.pom (2.3 kB at 52 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom (481 B at 11 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom (5.9 kB at 103 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom (1.8 kB at 44 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom (2.1 kB at 55 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom (390 B at 11 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom (704 B at 18 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http/1.0-beta-6/wagon-http-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http/1.0-beta-6/wagon-http-1.0-beta-6.pom (3.3 kB at 76 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom (7.8 kB at 194 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom (3.8 kB at 93 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-6/wagon-webdav-jackrabbit-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-6/wagon-webdav-jackrabbit-1.0-beta-6.pom (3.5 kB at 92 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-webdav/1.5.0/jackrabbit-webdav-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-webdav/1.5.0/jackrabbit-webdav-1.5.0.pom (3.3 kB at 93 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/1.5.0/jackrabbit-parent-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/1.5.0/jackrabbit-parent-1.5.0.pom (25 kB at 516 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-jcr-commons/1.5.0/jackrabbit-jcr-commons-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-jcr-commons/1.5.0/jackrabbit-jcr-commons-1.5.0.pom (3.0 kB at 90 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.3/slf4j-api-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.3/slf4j-api-1.5.3.pom (3.0 kB at 85 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.3/slf4j-parent-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.3/slf4j-parent-1.5.3.pom (7.7 kB at 204 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.pom (8.0 kB at 182 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.pom (1.5 kB at 40 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-6/wagon-ssh-external-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-6/wagon-ssh-external-1.0-beta-6.pom (2.6 kB at 66 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-6/wagon-ssh-common-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-6/wagon-ssh-common-1.0-beta-6.pom (1.8 kB at 49 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-6/wagon-ssh-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-6/wagon-ssh-1.0-beta-6.pom (2.9 kB at 72 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.38/jsch-0.1.38.pom
Downloaded from central: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.38/jsch-0.1.38.pom (967 B at 28 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.jar
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.jar (253 kB at 2.8 MB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar (77 kB at 1.1 MB/s)
[INFO] com.oracle.maven:oracle-maven-sync:14.1.2-0-0

Name: Oracle Maven Synchronization Plugin
Description: Maven plugin to load a Maven repository with the contents of the
  Oracle Home directory
Group Id: com.oracle.maven
Artifact Id: oracle-maven-sync
Version: 14.1.2-0-0
Goal Prefix: oracle-sync

This plugin has 2 goals:

oracle-sync:help
  Description: Display help.
  Implementation: com.oracle.maven.sync.ODMHelp
  Language: java

  This mojo doesn't use any parameters.

oracle-sync:push
  Description: Install to the local repository and optionally deploy to a
    remote repository from the specified oracle home
    The plugin will use your current Maven settings to determine the path to
    the local repository and, optionally, a remote deployment repository. For
    details on how to configure Maven's repository settings, see the Maven
    settings reference: http://maven.apache.org/settings.html
    
    You can specify the parameters on the command line like this:
    -DserverId=archiva-internal -DdryRun=false -DfailOnError=false
    
    To override the localRepository target used by the plugin, you can specify
    the following option on the command-line:
    -Dmaven.local.repo=/alternate/path/to/repository
    
    To supply an alternate settings.xml for purposes of this operation, use the
    --settings option. For example:
    
     mvn --settings /alternate/path/settings.xml ...
    
    ...or in your POM like this:
    
     <plugin>
     <groupId>com.oracle.maven</groupId>
     <artifactId>oracle-maven-sync</artifactId>
     <version>14.1.2-0-0</version>
     <configuration>
     <oracleHome>/home/mark/Oracle/Middleware</oracleHome>
     <failOnError>false</failOnError>
     </configuration>
     </plugin>
  Implementation: com.oracle.maven.sync.ODMPushMojo
  Language: java

  Available parameters:

    dryRun (Default: false)
      User property: dryRun
      If set to 'true' this goal execution will only log push actions but will
      not actually make any changes.

    failOnError (Default: true)
      User property: failOnError
      If set to 'true' the plugin will stop and return an error immediately
      upon the first failure to deploy an artifact. Otherwise, the plugin will
      log the error and attempt to complete deployment of all other artifacts.

    oracleHome
      Required: true
      User property: oracleHome
      Path to the Oracle home.

    overwriteParent (Default: false)
      User property: overwriteParent
      If true, the plugin will overwrite POM artifacts with ancestry to
      oracle-common if they exist in the target repository. The default value
      of false will prevent automatic overwrite of customized POM contents. If
      any such POMs are encountered during plugin execution, an error will be
      thrown and handled according to the failOnError flag value. To carry over
      changes, save the existing POMs, run the push goal with
      overwriteParent=true and manually transfer the changes to the newly
      pushed POMs.

    pushDuplicates (Default: false)
      User property: pushDuplicates
      Push all duplicate locations. If multiple POMs with different Maven
      coordinates (GAV) are assigned to the same location path, the plugin will
      push them all to the destination repository if this flag is true.
      If the value is false, the push operation will fail. Set failOneError to
      false if you would like to skip all duplicates except the GAV in the set
      of duplicates that is encountered first.

    retryFailedDeploymentCount (Default: 1)
      User property: retryFailedDeploymentCount
      Parameter used to control how many times a failed deployment will be
      retried before giving up and failing. If a value outside the range 0-10
      is specified it will be pulled to the nearest value within the range
      0-10. If set to 0, there will be no retries
      
      If the artifact being deployed to the remote server has both a POM and a
      binary file, the retry count will be reset between deploying the POM and
      deploying the binary file.
      
      This parameter is ignored when pushing to a local repository.

    serverId
      User property: serverId
      This is the ID of the repository in your pom.xml or settings.xml file -
      where you have specified the remote Maven repository and its
      authentication information. The plugin will only install to the local
      repository if this parameter is not set.


[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.459 s
[INFO] Finished at: 2025-10-25T23:35:41+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=/app/weblogic
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] --- oracle-sync:14.1.2-0-0:push (default-cli) @ standalone-pom ---
[INFO] ------------------------------------------------------------------------
[INFO] ORACLE MAVEN SYNCHRONIZATION PLUGIN - PUSH
[INFO] ------------------------------------------------------------------------

 

Generate project from archetype

  See generated code here  https://github.com/dveselka/weblogic/tree/master/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project

dave@dave:/git/weblogic/dave-basic-project-14.1.2$ mvn archetype:generate     -DarchetypeGroupId=com.oracle.weblogic.archetype     -DarchetypeArtifactId=basic-webapp-ejb     -DarchetypeVersion=14.1.2-0-0     -DgroupId=dave     -DartifactId=dave-basic-webapp-ejb-project     -Dversion=1.0-SNAPSHOT
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] >>> archetype:3.2.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< archetype:3.2.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- archetype:3.2.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[WARNING] Archetype not found in any catalog. Falling back to central repository.
[WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
[INFO] Using property: groupId = dave
[INFO] Using property: artifactId = dave-basic-webapp-ejb-project
[INFO] Using property: version = 1.0-SNAPSHOT
[INFO] Using property: package = dave
Confirm properties configuration:
groupId: dave
artifactId: dave-basic-webapp-ejb-project
version: 1.0-SNAPSHOT
package: dave
 Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: basic-webapp-ejb:14.1.2-0-0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: dave
[INFO] Parameter: artifactId, Value: dave-basic-webapp-ejb-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: dave
[INFO] Parameter: packageInPathFormat, Value: dave
[INFO] Parameter: package, Value: dave
[INFO] Parameter: groupId, Value: dave
[INFO] Parameter: artifactId, Value: dave-basic-webapp-ejb-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Project created from Archetype in dir: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.297 s
[INFO] Finished at: 2025-10-25T23:39:54+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ find dave-basic-webapp-ejb-project/
dave-basic-webapp-ejb-project/
dave-basic-webapp-ejb-project/pom.xml
dave-basic-webapp-ejb-project/src
dave-basic-webapp-ejb-project/src/main
dave-basic-webapp-ejb-project/src/main/java
dave-basic-webapp-ejb-project/src/main/java/dave
dave-basic-webapp-ejb-project/src/main/java/dave/entity
dave-basic-webapp-ejb-project/src/main/java/dave/entity/Account.java
dave-basic-webapp-ejb-project/src/main/java/dave/service
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountManagerImpl.java
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountBean.java
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountManager.java
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor/LogInterceptor.java
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor/OnDeposit.java
dave-basic-webapp-ejb-project/src/main/webapp
dave-basic-webapp-ejb-project/src/main/webapp/css
dave-basic-webapp-ejb-project/src/main/webapp/css/bootstrap.css
dave-basic-webapp-ejb-project/src/main/webapp/index.xhtml
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF/web.xml
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF/beans.xml
dave-basic-webapp-ejb-project/src/main/webapp/template.xhtml
dave-basic-webapp-ejb-project/src/main/resources
dave-basic-webapp-ejb-project/src/main/resources/META-INF
dave-basic-webapp-ejb-project/src/main/resources/META-INF/persistence.xml
dave-basic-webapp-ejb-project/src/main/scripts

 

Fix Maven plugin dependency 

<plugin>
        <groupid>com.oracle.weblogic</groupid> 
        <artifactid>weblogic-maven-plugin</artifactid> 
        <version>14.1.2-0-0</version> 
        <!--You can find and redefine the following variables in the parent pom file arccording to your environment.
  
        oracleMiddlewareHome
        oracleServerUrl
        oracleUsername
        oraclePassword
        oracleServerName-->
        <configuration> 
          <middlewarehome>${oracleMiddlewareHome}</middlewarehome>
        </configuration>
        <dependencies>
           <dependency>
            <groupid>com.oracle.weblogic</groupid>
            <artifactid>weblogic</artifactid>
            <version>14.1.2-0-0</version>
            <scope>system</scope>
            <systempath>/app/weblogic/wlserver/server/lib/weblogic.jar</systempath>
         </dependency>
        </dependencies> 

 

Deploy project

dave@dave:/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project$ mvn -e  pre-integration-test
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< dave:dave-basic-webapp-ejb-project >-----------------
[INFO] Building basicWebappEjb 1.0-SNAPSHOT
[INFO]   from pom.xml
[INFO] --------------------------------[ war ]---------------------------------
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ dave-basic-webapp-ejb-project ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource from src/main/resources to target/classes
[INFO] 
[INFO] --- compiler:2.3.2:compile (default-compile) @ dave-basic-webapp-ejb-project ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ dave-basic-webapp-ejb-project ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/test/resources
[INFO] 
[INFO] --- compiler:2.3.2:testCompile (default-testCompile) @ dave-basic-webapp-ejb-project ---
[INFO] No sources to compile
[INFO] 
[INFO] --- surefire:3.2.2:test (default-test) @ dave-basic-webapp-ejb-project ---
[INFO] 
[INFO] --- war:3.3.1:war (default-war) @ dave-basic-webapp-ejb-project ---
[INFO] Packaging webapp
[INFO] Assembling webapp [dave-basic-webapp-ejb-project] in [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb]
[INFO] Processing war project
[INFO] Copying webapp resources [/git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/src/main/webapp]
[INFO] Building war: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war
[INFO] 
[INFO] --- weblogic:14.1.2-0-0:deploy (default) @ dave-basic-webapp-ejb-project ---
[WARNING]  Parameter 'middlewareHome' (user property 'middlewareHome') is deprecated: This Mojo no longer requires a local server install.
[INFO] Command flags are: -noexit -deploy -username weblogic -password ******* -name basicWebappEjb -source /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war -verbose -adminurl t3://localhost:7001
weblogic.Deployer invoked with options:  -noexit -deploy -username weblogic -name basicWebappEjb -source /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war -verbose -adminurl t3://localhost:7001
<Nov 5, 2025, 9:21:03 PM Central European Standard Time> <Info> <J2EE Deployment SPI> <BEA-260121> <Initiating deploy operation for application, basicWebappEjb [archive: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project/target/basicWebappEjb.war], to configured targets.> 
Task 0 initiated: [Deployer:149026]deploy application basicWebappEjb on AdminServer.
Task 0 completed: [Deployer:149026]deploy application basicWebappEjb on AdminServer.
Target state: deploy completed on Server AdminServer

Target Assignments:
+ basicWebappEjb  AdminServer
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  8.488 s
[INFO] Finished at: 2025-11-05T21:21:07+01:00
[INFO] ------------------------------------------------------------------------

Check application in Weblogic remote console