IBM webMethods Hybrid Integration

IBM webMethods Hybrid Integration

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
Expand all | Collapse all

LOCKFILE in Integrationserver folder

  • 1.  LOCKFILE in Integrationserver folder

    Posted Thu July 08, 2010 03:09 PM

    Hi All,

    i have sucessfully installed webmethod 8 Suite in win server 2008 and win server 2003, i have installed integration server as a service(services.msc) set the property has automatic, i have started the IS service from services.msc, after some time i have re-booted win server 2008.Observed the IS services is not started automatically, than i was trying to start manually it is given lock file exist .

    than i have removed lock file and started the IS service from services.msc.

    Observation:while re-booting win server 2008, IS lock file is not removing automatically, becz of this IS is not starting automatically.

    is there any -way to resolve this problem.

    regards,
    anil kumar ellendula


    #Integration-Server-and-ESB
    #webMethods-Architecture
    #webMethods-General
    #webMethods


  • 2.  RE: LOCKFILE in Integrationserver folder

    Posted Thu July 08, 2010 04:18 PM

    you can create a windows restart script. in the script, stop the WM IS service before shut down the OS.


    #webMethods-General
    #Integration-Server-and-ESB
    #webMethods-Architecture
    #webMethods


  • 3.  RE: LOCKFILE in Integrationserver folder

    Posted Thu July 08, 2010 04:30 PM

    wht is the script i need to write and where i need to keep this file in windows OS Level, i observed that if shut down the win server and start the win server ,lock file is not removing.

    Note: ihve installed IS as a Service level and StartType as Automatic.


    #webMethods-General
    #webMethods
    #webMethods-Architecture
    #Integration-Server-and-ESB


  • 4.  RE: LOCKFILE in Integrationserver folder

    Posted Thu July 08, 2010 08:22 PM

    I wrote a *.bat in C:
    Inside the file I put del C:\webMethods7\IntegrationServer\LOCKFILE and then created a windows task to execute the bat file every system start.

    Regards


    #webMethods-General
    #Integration-Server-and-ESB
    #webMethods
    #webMethods-Architecture


  • 5.  RE: LOCKFILE in Integrationserver folder

    Posted Fri July 09, 2010 06:31 AM

    Anil,

    Alternatively, you can add this line to your “server.bat” file itself.

    [INDENT]

     
    if exist ..\LOCKFILE del ..\LOCKFILE

    [/INDENT]But dont forget to take a backup of the server.bat file before you make changes to it.


    #webMethods
    #Integration-Server-and-ESB
    #webMethods-General
    #webMethods-Architecture


  • 6.  RE: LOCKFILE in Integrationserver folder

    Posted Fri July 09, 2010 01:13 PM

    thanks for reply all

    suren: the script code you sent it is already in server.bat file by default.

    Seee Below script of server.bat

    @echo off

    rem ###########################################################################
    rem #
    rem server.bat : launch webMethods Integration Server #
    rem #
    rem Change IS_DIR and JAVA_DIR to reflect their locations on your system #
    rem #
    rem This script is designed to work with Java VMs that conform to the #
    rem command-line conventions of Sun Microsystems ™ Java Development Kit #
    rem or Java Runtime Environment. #
    rem #
    rem ###########################################################################

    SETLOCAL

    rem … Be careful with changes below this line

    SET IS_DIR=C:\webmethods80\IntegrationServer

    call “%IS_DIR%\bin\setenv.bat”

    rem Globalization support
    set WM_HOME=%IS_DIR%..

    set USE_80_AUDIT_TBLS=“-Dcom.webMethods.sc.auditing.Use80TableFormat=true”

    rem Set default XPathFactory implementation when running as service.
    set XPATH_IMPL=-Djavax.xml.xpath.XPathFactory:[url]Oracle Java Technologies | Oracle
    set ALLOW_ARRAY_CLASSLOADING=“-Dsun.lang.ClassLoader.allowArraySyntax=true”

    set JAVA_MEMSET=-Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -XX:MaxPermSize=%JAVA_MAX_PERM_SIZE%
    set JAVA2_MEMSET=-Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -XX:MaxPermSize=%JAVA_MAX_PERM_SIZE% -Xrs %XPATH_IMPL% %ALLOW_ARRAY_CLASSLOADING% %USE_80_AUDIT_TBLS% -DWM_HOME=“%WM_HOME%”

    set CP_SWITCH=-cp
    if exist “%JAVA_DIR%\bin\jre.exe” (
    set JAVA_EXE=“%JAVA_DIR%\bin\jre.exe”
    set JAVA_CP=“%JAVA_DIR%\lib\classes.zip;%JAVA_DIR%\lib\i18n.jar”
    ) else (
    set JAVA_EXE=“%JAVA_DIR%\bin\java.exe”
    set JAVA_CP=“%JAVA_DIR%\lib\rt.jar;%JAVA_DIR%\lib\i18n.jar”
    )

    set JVM_TYPE=sun

    set JAVA_RUN=%JAVA_EXE% %JAVA_MEMSET% -server

    set SAVED_CP=%CLASSPATH%
    set SAVED_PATH=%PATH%

    SET USE_ENV_CLASSPATH=true
    SET ENV_CLASSPATH=
    if %USE_ENV_CLASSPATH%==true (
    set ENV_CLASSPATH=%SAVED_CP%
    )

    set IS_PROXY_MAIN=com.wm.app.server.Main
    set IS_PROXY_JAR=“%IS_DIR%\lib\wm-isproxy.jar”
    set WM_CONVERTERS_JAR=“%WM_HOME%\common\lib\wm-converters.jar”
    set PREPENDCLASSES_SWITCH=-pcp
    set APPENDCLASSES_SWITCH=-acp
    set ENV_CLASSPATH_SWITCH=-ecp

    :start

    rem … server must start in install directory
    cd /d “%IS_DIR%”

    if exist LOCKFILE (
    echo Only one Integration Server instance may be run from a particular
    echo installation at a time. Make sure that this server is shutdown
    echo before trying to start it. If no server is running, then
    echo delete the file
    echo %IS_DIR%\LOCKFILE
    echo and try to start the server again.
    goto :EOF
    )
    echo. > LOCKFILE

    rem back up ini.cnf or restore if missing
    if exist bin\ini.cnf copy /y bin\ini.cnf bin\ini.cnf.bak > nul
    if not exist bin\ini.cnf copy /y bin\ini.cnf.bak bin\ini.cnf > nul

    set PATH=%SAVED_PATH%
    set CLASSPATH=%JAVA_CP%;%IS_PROXY_JAR%;%WM_CONVERTERS_JAR%

    rem SSL support
    set PATH=%PATH%;%IS_DIR%..\common\bin

    rem
    rem look for native packages: update path as needed
    rem native packages contain DLLs that must be added to the path
    rem in order to be dynamically loaded by the VM.
    rem
    for /D %%D in (packages*) do call :updatePackageInfo %%D

    rem
    rem append caching configuration directory to the classpath
    rem
    call :appendClasspath “%IS_DIR%”\config\Caching

    set CLASSPATH=%PREPEND_SYSTEM_CLASSPATH%;%CLASSPATH%;%APPEND_SYSTEM_CLASSPATH%
    set PATH=%PATH%;%IS_DIR%\support\win32;%JAVA_DIR%\bin\server;%IS_DIR%\lib;

    rem
    rem Run as an NT service ? If so, save program arguments to Registry
    rem
    if “1%1”==“1-service” (
    if exist LOCKFILE del LOCKFILE
    “%IS_DIR%\bin\SaveSvcParams.exe” /svcname %2 /jvm “%JAVA_DIR%..” /binpath “%PATH%” /classpath %CLASSPATH% /jvmargs “%JAVA2_MEMSET%” /progargs “%IS_DIR%\bin\ini.cnf”#“-service %2”#%PREPENDCLASSES_SWITCH%#%PREPENDCLASSES%#%APPENDCLASSES_SWITCH%#%APPENDCLASSES%#%ENV_CLASSPATH_SWITCH%#%ENV_CLASSPATH%#%3#%4#%5#%6#%7#%8#%9
    goto :EOF
    )

    rem run integration server
    title webMethods Integration Server
    %JAVA_RUN% -DWM_HOME=“%WM_HOME%” %USE_80_AUDIT_TBLS% %ALLOW_ARRAY_CLASSLOADING% -classpath %CLASSPATH% %IS_PROXY_MAIN% “%IS_DIR%”\bin\ini.cnf %PREPENDCLASSES_SWITCH% %PREPENDCLASSES% %APPENDCLASSES_SWITCH% %APPENDCLASSES% %ENV_CLASSPATH_SWITCH% %ENV_CLASSPATH% %1 %2 %3 %4 %5 %6 %7 %8 %9
    set EL=%ERRORLEVEL%

    if exist LOCKFILE del LOCKFILE

    if “%EL%”==“42” goto start

    rem
    rem … restore original classpath and path
    set CLASSPATH=%SAVED_CP%
    set PATH=%SAVED_PATH%

    ENDLOCAL

    goto :EOF

    :updatePackageInfo
    if not exist %1\code\libs goto :EOF
    call :prependToPath %1\code\libs
    goto :EOF

    :prependToPath
    set PATH=%1;%PATH%
    goto :EOF

    :appendClasspath
    set CLASSPATH=%CLASSPATH%;%1
    goto :EOF


    #Integration-Server-and-ESB
    #webMethods-General
    #webMethods-Architecture
    #webMethods


  • 7.  RE: LOCKFILE in Integrationserver folder

    Posted Mon July 12, 2010 02:26 AM

    Anil: Hope you are not referring to the above code coz that’s just echo statements to print the message to the console.

    The above two snippets would not be executed because of the use of got:EOF statement at the end of the first snippet. goto :EOF takes the control to the end of the script and ends the execution of the script.

    So if at all you are adding the command, it should be added above the first check(if).


    #Integration-Server-and-ESB
    #webMethods
    #webMethods-General
    #webMethods-Architecture


  • 8.  RE: LOCKFILE in Integrationserver folder

    Posted Mon July 12, 2010 02:37 PM

    if do like rem of if exist LOCKFILE (goto :EOF
    )
    it is o.k ,

    like

    rem if exist LOCKFILE (
    echo Only one Integration Server instance may be run from a particular
    echo installation at a time. Make sure that this server is shutdown
    echo before trying to start it. If no server is running, then
    echo delete the file
    echo %IS_DIR%\LOCKFILE
    echo and try to start the server again.
    rem goto :EOF
    rem )

    is it o.k, becs below it has

    if “1%1”==“1-service” (
    if exist LOCKFILE del LOCKFILE
    “%IS_DIR%\bin\SaveSvcParams.exe” /svcname %2 /jvm “%JAVA_DIR%..” /binpath “%PATH%” /classpath %CLASSPATH% /jvmargs “%JAVA2_MEMSET%” /progargs “%IS_DIR%\bin\ini.cnf”#“-service %2”#%PREPENDCLASSES_SWITCH%#%PREPENDCLASSES%#%APPENDCLASSES_SWITCH%#%APPENDCLASSES%#%ENV_CLASSPATH_SWITCH%#%ENV_CLASSPATH%#%3#%4#%5#%6#%7#%8#%9
    goto :EOF
    )

    and

    if exist LOCKFILE del LOCKFILE

    if “%EL%”==“42” goto start

    codes, if do rem of 1 st snippet, it will execute rest of the code, if do rem of 1 st snippest, it will be problem

    regards,
    anil kumar


    #webMethods
    #Integration-Server-and-ESB
    #webMethods-General
    #webMethods-Architecture


  • 9.  RE: LOCKFILE in Integrationserver folder

    Posted Tue July 13, 2010 02:51 AM

    Anil,

    I wouldn’t suggest messing around in the batch file so much. If there is no particular reason why you need to go commenting those lines I suggest you to just add the line of code mentioned earlier just after this line and leave the rest intact: cd /d “%IS_DIR%”

    This will take care deleting the LOCKFILE if it exists just before starting an instance of the IS.

    Leaving the IF statement intact that you are trying to comment will make sure that only one IS instance runs at a time. If by chance you execute the batch file while already an instance is running the DEL LOCKFILE command will fail but this IF block will detect file presence and exit the batch execution.


    Try it and let us know how it goes.

    -HTH


    #webMethods
    #webMethods-General
    #webMethods-Architecture
    #Integration-Server-and-ESB


  • 10.  RE: LOCKFILE in Integrationserver folder

    Posted Tue July 13, 2010 04:13 PM

    if i add

    if exist …\LOCKFILE del …\LOCKFILE step above the

    if exist LOCKFILE (
    echo Only one Integration Server instance may be run from a particular
    echo installation at a time. Make sure that this server is shutdown
    echo before trying to start it. If no server is running, then
    echo delete the file
    echo %IS_DIR%\LOCKFILE
    echo and try to start the server again.
    goto :EOF
    )

    what will happen if one instace is running, if i start another instance it will delete the lockfile and start the another instance right

    Regards,
    Anil kumar ellendula


    #webMethods-Architecture
    #Integration-Server-and-ESB
    #webMethods-General
    #webMethods


  • 11.  RE: LOCKFILE in Integrationserver folder

    Posted Wed July 14, 2010 09:21 AM

    No it wouldn’t. The delete command will fail as the LOCKFILE will be in use by the running IS instance. The if statement will check and exit the batch file execution.


    #Integration-Server-and-ESB
    #webMethods
    #webMethods-General
    #webMethods-Architecture


  • 12.  RE: LOCKFILE in Integrationserver folder

    Posted Thu July 15, 2010 11:12 AM

    Hi Suren,

    I added if exist …\LOCKFILE del …\LOCKFILE step above the

    if exist LOCKFILE (
    echo Only one Integration Server instance may be run from a particular
    echo installation at a time. Make sure that this server is shutdown
    echo before trying to start it. If no server is running, then
    echo delete the file
    echo %IS_DIR%\LOCKFILE
    echo and try to start the server again.
    goto :EOF
    )

    i have restarted the windows OS ,LOCKfile exist in the <wM_installation>/Integration server folder and IS is not started becz Lock file is not deleted.

    Same problem i am facing here.

    Regards,
    Anil kumar ellendula


    #webMethods-Architecture
    #Integration-Server-and-ESB
    #webMethods
    #webMethods-General


  • 13.  RE: LOCKFILE in Integrationserver folder

    Posted Fri July 16, 2010 10:18 AM

    Anil,
    Remove the two dots… from the commands like so:

    if exist LOCKFILE del LOCKFILE 

    #webMethods-General
    #Integration-Server-and-ESB
    #webMethods
    #webMethods-Architecture


  • 14.  RE: LOCKFILE in Integrationserver folder

    Posted Mon July 19, 2010 04:58 PM

    This isn’t working for us too…I have updated per your suggestion on this thread…

    :start
    rem … server must start in install directory
    cd /d “%IS_DIR%”

    if exist LOCKFILE del LOCKFILE

    if exist LOCKFILE (
    echo Only one Integration Server instance may be run from a particular
    echo installation at a time. Make sure that this server is shut down
    echo before trying to start it. If no server is running, then
    echo delete the file
    echo %IS_DIR%\LOCKFILE.
    echo and try to start the server again.
    goto :EOF
    )
    echo. > LOCKFILE

    Any imore nputs?

    TIA,
    RMG


    #webMethods-General
    #Integration-Server-and-ESB
    #webMethods-Architecture
    #webMethods


  • 15.  RE: LOCKFILE in Integrationserver folder

    Posted Mon July 26, 2010 03:09 PM

    please help me how to delete the lockfile, any updates on this thread


    #webMethods
    #Integration-Server-and-ESB
    #webMethods-Architecture
    #webMethods-General