# Configure a DataSource application's JVM

To configure the Java Virtual Machine (JVM) for a C-based DataSource application, or for a Java module within the application, use the appropriate [dfw](../deployment-framework/cdf-the-deployment-framework-command-utility-dfw.md) commands and then set up any additional configuration items as defined on the [Java (JVM) configuration reference page](datasource-java-jvm-configuration.md).

## Java-based DataSource applications

You don’t need to set up the location and name of the JVM (Java Virtual Machine) for DataSource applications that are entirely Java-based, because the Deployment Framework starts such applications by running a jar using the java command.

## C-based DataSource applications

C-based DataSource applications include Liberator, Transformer, and C-based integration adapters.

Follow the steps below to configure the JVM in a C-based DataSource application:

1. Set up the location and name of the JVM (Java Virtual Machine) by running the [Deployment Framework](../deployment-framework/index.md) command [`./dfw java`](../deployment-framework/cdf-the-deployment-framework-command-utility-dfw.md#java) from the Deployment Framework’s topmost directory:

   For example:

   ```
   ./dfw java "C:/Program Files (x86)/Java/jre7/bin/client/jvm.dll"
   ```

   **💡 TIP**\
   You only need to do this once, as the setting will apply to all instances of Liberator, Java and C-based Adapter blades running under that particular Deployment Framework.
2. If you intend to run a 32 bit C-based Adapter blade that uses a JVM, you should specify the location of a suitable 32 bit JVM that it can use. In Linux environments that use Deployment Framework release 6.2 and later, you can define this location by running the Deployment Framework command [`./dfw java32`](../deployment-framework/cdf-the-deployment-framework-command-utility-dfw.md#java32)

   For example:

   ```
   ./dfw java32 /usr/local/java/jre/lib/i386/server/libjvm.so
   ```
3. You may need to set up additional Java configuration ([`jvm-global-classpath`](datasource-java-jvm-configuration.md#jvm-global-classpath), [`jvm-options`](datasource-java-jvm-configuration.md#jvm-options), [`add-javaclass`](datasource-java-jvm-configuration.md#add-javaclass)), putting it the appropriate configuration file:

### Where do I put the configuration?

| What I’m developing/customising: | Configuration goes in: |
| --- | --- |
| Adapter: Developing a C-based Adapter blade. | Blade’s _DataSource/etc/java.conf_ |
| Adapter: Customising an existing C-based Adapter blade. | Deployment Framework’s _global_config/overrides/&lt;blade-name>_***__/__***_DataSource/java.conf_ |
| Liberator: [Developing a Java-based Liberator Permissioning Service blade](../deployment-framework/cdf-create-a-java-based-liberator-permissioning-service-blade.md). | Blade’s _Liberator/etc/java.conf_ |
| Liberator: Customising a Java-based Liberator Permissioning Service blade. | Deployment Framework’s _global_config/overrides/&lt;blade-name>/Liberator/etc/java.conf_ |
| Transformer: [Developing a Java-based Transformer Service blade](../deployment-framework/cdf-create-a-java-based-transformer-service-blade.md). | Blade’s _Transformer/etc/java.conf_ |
| Transformer: Customising an existing Java-based Transformer Service blade. | Deployment Framework’s _global_config/overrides/&lt;blade-name>/Transformer/etc/java.conf_ |

---

**See also:**

* [Change the size of the JVM heap](datasource-change-the-size-of-the-jvm-heap.md)
* [Customise an existing blade](../deployment-framework/cdf-customise-an-existing-blade.md)
* [Blade types](../deployment-framework/cdf-blade-types.md)
* [Deployment Framework Structure](../deployment-framework/cdf-deployment-framework-structure.md)
