One of my colleagues was seeing this exception: -
Execute [TDIPopulation\TDISOL\win\collect_dns.bat]
The java class is not found: and
"Collection of LDAP DNs failed"
Exit value: 1
Quit.
Execute [TDIPopulation\TDISOL\win\populate_from_dn_file.bat]
The java class is not found: and
"Populate of database repository failed"
Exit value: 1
Quit.
Execute [TDIPopulation\TDISOL\win\mark_managers.bat]
The java class is not found: and
"markManager failed"
Exit value: 1
Quit.
when using the Profiles Population Wizard or, to be more specific, the element that pulls data out of Domino into a file - collect.dns.
Following this Technote: -
Server ends prematurely with java class not found
I asked her to check the Windows PATH, but apart from a space in Program Files ( normal Windows nonsense ), it all seemed OK. I even asked her to change the path to include "C:\Program Files" e.g. wrapping quotes around it - this made no difference.
We checked tdienv.bat: -
set TDI_CS_PORT=1527
set TDI_CS_HOST=localhost
set TDIPATH=C:\IBM\TDI\V7.0
and collect_dns.bat: -
@REM *****************************************************************
@REM
@REM IBM Confidential
@REM
@REM OCO Source Materials
@REM
@REM Copyright IBM Corp. 2009, 2010
@REM
@REM The source code for this program is not published or otherwise
@REM divested of its trade secrets, irrespective of what has been
@REM deposited with the U.S. Copyright Office.
@REM
@REM *****************************************************************
@echo off
SETLOCAL
CD %~dp0
set RC=0
REM call common script to set TDI paths
CALL .\TDIENV.bat
REM Start Network Store server if not started already
CALL .\netstore ping >NUL 2>NUL
IF NOT ERRORLEVEL 1 GOTO STOREOK
CALL .\netstore start
:STOREOK
REM set failure code ahead of time in case called program doesn't set anything
echo 1 >"%TEMP%\_tdi.rc"
CALL "%TDIPATH%\ibmdisrv" -s . -c profiles_tdi.xml -r collect_ldap_dns
FOR /F "usebackq" %%i in ("%TEMP%\_tdi.rc") DO SET RC=%%i
IF NOT "%RC%" == "0" GOTO FAILPOP
GOTO FINISH
:FAILPOP
ECHO "Collection of LDAP DNs failed"
GOTO FINISH
:FINISH
ENDLOCAL & SET RC=%RC%
EXIT /B %RC%
and, finally, C:\IBM\TDI\V7.0\ibmdisrv.bat: -
@echo off
setlocal
set TEMP_BIN_DIR=%~d0%~p0bin
set SKIP_ISCDIR_SETUP=1
call "%TEMP_BIN_DIR%\setupCmdLine.bat"
set PATH=%TDI_HOME_DIR%;%TDI_JAVA_BIN_DIR%;%TDI_LIB_DIR%;%PATH%
rem Get solution directory parameter (overrides TDI_SOLDIR)
:checksol
if .%1==.-s (
rem Make sure we are on the correct drive
%~d2
rem At this point overwrite the TDI_SOLDIR
set TDI_SOLDIR=%2
goto changedir
)
shift
if not .%1==. goto checksol
:changedir
rem first remove quotes, as double quotes will be bad
set TDI_SOLDIR_TMP=###%TDI_SOLDIR%###
set TDI_SOLDIR_TMP=%TDI_SOLDIR_TMP:"###=%
set TDI_SOLDIR_TMP=%TDI_SOLDIR_TMP:###"=%
set TDI_SOLDIR=%TDI_SOLDIR_TMP:###=%
rem Create the directory if it does not exist
if not exist "%TDI_SOLDIR%" mkdir "%TDI_SOLDIR%"
rem CD into solution directory
call "%TDI_BIN_DIR%\ibmdicwd" "%TDI_SOLDIR%"
:execute
if not exist logs mkdir logs
rem Always add the Solution Directory libs dir to the path
set PATH=%TDI_SOLDIR%\libs;%PATH%
rem Take the supported env variables and pass them to Java program
set LOG_4J=-Dlog4j.configuration="file:etc\log4j.properties"
set ENV_VARIABLES=%LOG_4J%
"%TDI_JAVA_PROGRAM%" -Xms256M and -Xmx1024M -classpath "%TDI_HOME_DIR%\IDILoader.jar" %ENV_VARIABLES% com.ibm.di.loader.IDILoader com.ibm.di.server.RS %*
endlocal
At this point, we had the Ah-Ha moment, closely followed by the Doh moment.
The Lotus Connections documentation recommends that the ibmdisrv.sh/bat script be amended to include the -Xms256M and -Xmx1024M switches.
My colleague had taken the advice rather too liberally, and had pasted "-Xms256M and -Xmx1024M" into the script.
Looking back at the first exception we saw: -
The java class is not found: and
it's NOW quite obvious what the problem is :-)
Geeking in technology since 1985, with IBM Development, focused upon Docker and Kubernetes on the IBM Z LinuxONE platform In the words of Dr Cathy Ryan, "If you don't write it down, it never happened". To paraphrase one of my clients, "Every day is a school day". I do, I learn, I share. The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions. Remember, YMMV https://infosec.exchange/@davehay
Subscribe to:
Post Comments (Atom)
Note to self - use kubectl to query images in a pod or deployment
In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...
-
Why oh why do I forget this ? Running this command : - ldapsearch -h ad2012.uk.ibm.com -p 389 -D CN=bpmbind,CN=Users,DC=uk,DC=ibm,DC=com -w...
-
Error "ldap_sasl_interactive_bind_s: Unknown authentication method (-6)" on a LDAPSearch command ...Whilst building my mega Connections / Domino / Portal / Quickr / Sametime / WCM environment recently, I was using the LDAPSearch command tha...
-
Whilst building a new "vanilla" Kubernetes 1.25.4 cluster, I'd started the kubelet service via: - systemctl start kubelet.se...
1 comment:
Post a Comment