Kettle running on windows with commands - kettle

i use Kettle running on windows system with commands
my code:
C:\Users\Administrator>F:\data-integration\pan.bat /file F:\data-integration/repository/test/test.ktr /param:test=pp
when i add /param:test=pp
there has a problem:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/F:/data-integration/launcher/../lib/slf4j-log
4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/F:/data-integration/plugins/pentaho-big-data-
plugin/lib/slf4j-log4j12-1.7.7.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2019/04/28 17:44:11 - Pan - ERROR (version 8.3.0.0-211, build 8.3.0.0-211 from 2
019-03-12 03.40.41 by Administrator) : Command Line Options
I have set the test parameter in test.ktr,but also can't run

Personally, i use this template for the Batch files
C:
cd\Pentaho\design-tools\data-integration\
Pan.bat -file:C:/foo/bar/your.ktr "-param:test=pp"
I usually wrap the param:[name]=[value] clauses in quotes, because in PDI Windows, you're working with a multiple platform system, you're running a Windows command that's going to land on a Unix VM (The Java VM), so slashes, forward slashes and other control characters have to be ommited.
The only command that i don't wrap around quotes is the -file.
If you're using a the command straight from CMD, remenber you need to navigate to your data-integration folder in order to call Pan / Kitchen with the commands.

Related

Mechanics of csh and source command in CentOS7

I am trying to do this on CentOS-7. So why will this not work when I use the command 'source filename' where filename is the following file under another name:
!/usr/bin/csh
## setting aliases for IC tool installation path
## setenv CDSHOME /path/to/cadence/installs/ICADVM181
##The following line is from the InstallScape instructions
##setenv CDSHOME /home/administrator/cadence/installs/IC618/
##If you are using the C shell, use the following command:
##setenv PATH $PATH:installation_path/vacpp/bg/12.1/bin/
##setenv CDSHOME $PATH:home/administrator/cadence/installs/IC618/
setenv CDSHOME "/home/administrator/cadence/installs/IC618/"
## Below setting is for license server, serverA and serverB are hostnames of the license server machines, and 5280 and 5281 are ports
#setenv CDS_LIC_FILE 5280#serverA:5281#serverB
## setting path in your environment
set path = ($CDSHOME/tools/bin $CDSHOME/tools/dfII/bin $path)
If I go to terminal, engage 'csh', then use 'source filename', I can then use the 'which virtuoso' to make sure that the path can be found to virtuoso. This works.
I know some basic things about Linux, bash, and csh from reading and various videos. I don't see what I'm missing here. Everything I read says you should be able to engage csh, bash, or sh with a shebang line at the beginning of a file.
My long term goal is have this string of commands load upon logging into a number of workstations or activated by double clicking a desktop icon.
This is for the Cadence software package, so I will have to do something similar depending upon what is installed. I'm not ready to worry about the licensing server issue, but that's next after being able to run 'virtuoso' executable.

oh-my-fish `omf: command not found` in WebStorm terminal emulator

I am using WebStorm 2017.1.3 on Fedora 25.
I have fish set up as my default shell and installed oh-my-fish so in
Terminal I see my git branch and other information by default. omf update runs as expected.
In the WebStorm terminal emulator I still get fish, but not omf:
user#host ~> omf
fish: omf: command not found...
I'm a noob fish and omf user, can anyone help?
Thanks.
I have fish set up as my default shell and installed oh-my-fish so in Terminal I see my git branch and other information by default.
Note that you don't need omf for this. Fish ships a number of prompts that include vcs information. You can pick one with fish_config or add the __fish_vcs_prompt function to your fish_prompt.
In the WebStorm terminal emulator I still get fish, but not omf:
user#host ~> omf
fish: omf: command not found...
The "omf" function is stored in a file named "omf.fish" in a directory in $fish_function_path. This means that directory isn't included there.
The way omf works in a reasonably current (> 2.3.0) fish is that it has a bootstrap file (~/.config/fish/conf.d/omf.fish) that then sources the rest. It seems this isn't run.
I'd suggest you compare the values of $fish_function_path, $OMF_PATH and possibly $XDG_DATA_HOME in webstorm and outside of it.
An answer was given here: IntelliJ's embedded terminal does not load fish functions. I.e, add some lines of code to the app for the time being (until Jetbrains makes a fix).
I fixed this by going to Settings | Terminal then turning off Shell integration.
This allowed me to run omf and also have the bobthefish theme work with powerline/nerd fonts (after updating the terminal font at Settings | Editor | Color Scheme | Font Console)
I was using phpStorm 2017.3.4 but I assume this will also work in any IntelliJ embedded terminal.

Currently i am using WSO2ESB 4.9.0 Version i am unable run the samples Axis2server.bat file

Problem in running Samples of WSO2ESB Axis2server.bat
Iam getting below result
C:\wso2esb-4.9.0\samples\axis2Server>axis2server.bat
"Starting Sample Axis2 Server ..."
Using AXIS2_HOME: C:\WSO2ES~1.0\samples\AXIS2S~1\
Using JAVA_HOME: C:\Program Files\Java\jdk1.7.0_51
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-server to select the "server" VM
-hotspot is a synonym for the "server" VM [deprecated]
The default VM is server.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose:[class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -no-jre-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
"it is giving me the instructions of command usage...but it is not executing the wrapper.jar file."
In line 115 the original file have:
"set CARBON_CLASSPATH=..\..\repository\axis2\client\lib\bcprov-jdk15on.jar,%CARBON_CLASSPATH%"
You need to modify that line to use bcprov-jdk15.jar instead of bcprov-jdk15on.jar.
In line 126 the original file have:
%JAVA_HOME%\bin\java" -Xms256m -Xmx512m -XX:MaxPermSize=256m -classpath "%SAMPLE_SERVERPATH%" -Djava.io.tmpdir="%AXIS2_HOME%..\..\tmp\" %_SERVERNAME% %_HTTPPORT% %_HTTPSPORT% %_XDEBUG% -Djava.endorsed.dirs="%AXIS2_ENDORSED%" -Djar.class.paths=%CARBON_CLASSPATH% -Dsystem.home="." samples.util.Bootstrap -repo "%AXIS2_HOME%\repository" -conf "%AXIS2_HOME%repository\conf\axis2.xml
Please replace with with this line:
%JAVA_HOME%\bin\java" -Xms256m -Xmx512m -XX:MaxPermSize=256m -classpath "%SAMPLE_SERVERPATH%" -Djava.io.tmpdir="%AXIS2_HOME%..\..\tmp\sampleServer" %_SERVERNAME% %_HTTPPORT% %_HTTPSPORT% %_XDEBUG% -Djava.endorsed.dirs="%AXIS2_ENDORSED%" -Djar.class.paths=%CARBON_CLASSPATH% -Dsystem.home="." samples.util.Bootstrap -repo "%AXIS2_HOME%\repository" -conf "%AXIS2_HOME%repository\conf\axis2.xml

What information is required in boot.properties?

I want to specify the Clojure version for my project that uses Boot. According to the Boot Wiki, the way to do this is by providing a value for BOOT_CLOJURE_VERSION in a boot.properties file in my project root. So I did that:
$ cat boot.properties
BOOT_CLOJURE_VERSION=1.7.0
It seems to work just fine:
$ tail -2 ~/.boot/boot.properties
BOOT_VERSION=2.5.5
BOOT_CLOJURE_VERSION=1.8.0
$ cat build.boot
(deftask version []
(println "Clojure" (clojure-version))
(println "Boot core" *boot-version*)
(println "Boot app" *app-version*))
$ boot version
Clojure 1.7.0
Boot core 2.5.5
Boot app 2.5.5
However, that same wiki page specifically says to create the boot.properties file like this:
$ boot -V > boot.properties
This adds two lines at the beginning, which look like comments to me, and one at the end that specifies the Boot version. I have no problem with specifying the Boot version for my project, but the wiki page makes it sound as if it's required:
Note: When using boot.properties file you have to also pin the project to specific Boot version as the file must specify both variables.
I'm a bit confused about why the page specifically says to add these three lines to boot.properties when omitting them doesn't seem to cause any problems. Additionally, if I'm using revision control, I see no need to put a timestamp in boot.properties. Is it OK to omit these lines? If not, why are they needed?
This is most likely a case of outdated wiki information. From the source:
// BOOT_VERSION is decided by the loader; it will respect the
// boot.properties files, env vars, system properties, etc.
// or it will use the latest installed version.
I guess you could consider it good practice to lock both the Clojure and Boot version per project as this will prevent any future problems that may arise from incompatible versions.
The 2 comment lines added by Boot are just for information purposes and can be safely omitted.

wmq-fte precall java failed

I am implementing a FTE network using Websphere MQ 7.5.
I have developped a java program to be ran as a precall transfert.
here is my procedure :
I have updated the agent.properties file with path to java.exe
restart my agent
create a new transfert
In the call panel, I configure a precall :
program : java
argument : -jar c:\PATH\TO\MY\JAR\myJar.jar myArgument
the transfert fails and the error shown is like java does not receive any argument.
When I test my command in a windows prompt it works.
In addition, my first attempt was to run a batch script containing the java command but it did not work either.
I do not want to use an exit as the program is specific to a transfer.
Edit : I have test a simple java -version command and it works.
<preSourceCall>
<command name="java" retryCount="0" retryWait="0" successRC="0" type="executable">
<argument>-jar C:\mqfteTest\ExitsJava.jar C:\mqfteTest\userExitTest\FileRef_20121023.txt</argument>
</command>
</preSourceCall>
Error returned :
<callResult outcome="failure" retries="0">
<result outcome="failure" returnCode="1" time="2012-10-24T12:39:52.419Z">
<stdout>
<line/>
<line>Syntaxe : java [-options] class [args...]</line>
<line> (pour l'ex‚cution d'une classe)</line>
<line> ou java [-jar] [-options] jarfile [args...]</line>
...
<line>JVMJ9VM007E Option de ligne de commande non identifiee : -jar C:\mqfteTest\ExitsJava.jar C:\mqfteTest\userExitTest\FileRef_20121023.txt</line>
<line>Could not create the Java virtual machine.</line>
</stderr>
Best Regards
I am not quite sure if I have understood the question. Assuming your aim is to invoke Java class before the transfer begins, you can use MFT exits to achieve that. Here is a link to WMQ MFT v7.5 sample source end user exit.
HTH
I finally managed to execute my precall:
for the windows platform, I used a batch script and i put the script and the jar in a folder without space in the path.
I did not manage to use the java command and will open a PMR to understand why.
edit :
Finally I have understood why!!
In fact the so called "argumentS" (in the precall conf) are in fact just one argument.
I have also manage to deploy my precall on iseries as400.
the command line is the same but the declaration of shell MUST be
#!/QOpenSys/usr/bin/sh
with #!/bin/sh wmq-fte does not manage to catch the exit of the program
Everything works great now.
I also found a strange behaviour (which will aim to another PMR) :
when the files to send are in a subdirectory of the command path, the transfert fail.
Hope this will help some one.
Regards