Fork me on GitHub

Examples

The following examples use the configuration as shown on the /usage.html usage and shows the abilities of the target.

Note to import the dependency for the jSCSI target and the snapshot-repo of sonatype in your pom.

<dependencies>>
    ...
    <dependency>
       <groupId>org.jscsi</groupId>
       <artifactId>target</artifactId>
       <version>2.2-SNAPSHOT</version>
    </dependency>
</dependencies>
...
<repositories>
    ...
    <repository>
       <id>sonatype-nexus-snapshots</id>
       <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
    </repository>
</repositories>

Example 1

In this example, the target is simple started in an own java-process.

java -jar target-2.2-SNAPSHOT-jar-with-dependencies.jar [CONFIG.XML]

Here, the target runs as own Java-Process taking an optional parameter, the configuration-xml. If no configuration is given, the configuration from the /usage.html usage site is taken. The targets runs until its process is stopped. Note that no check against existing sessions or connections is performed.

Example 2

The following example shows a start of the target in the existing process with an own jscsi-config.

public class MethodStart {

    public static void main(final String[] args) throws Exception{
       //Getting the config path
       final File configFile = CONFIGPATH;
       //Creating the Configuration
       final Configuration config = Configuration.create(Configuration.CONFIGURATION_SCHEMA_FILE, configFile);
       //Starting the Target
       final TargetServer target = new TargetServer(config);
       target.call();
    }
}

Example 3

Extending the former example, the target is started in a callable leveraging from the easy treatment of threads in Java.

public class CallableStart {

    public static void main(final String[] args) throws SAXException, ParserConfigurationException, IOException  {
       //Getting the config path
       final File configFile = Configuration.CONFIGURATION_CONFIG_FILE;
       //Creating the Configuration
       final Configuration config = Configuration.create(Configuration.CONFIGURATION_SCHEMA_FILE, configFile);
       //Starting the Target
       final TargetServer target = new TargetServer(config);

       //Getting an Executor
       ExecutorService threadPool = Executors.newSingleThreadExecutor();
       //Starting the target
       threadPool.submit(target);
    }
}