21 March 2016

1. ENOVIA/3DExperience Connector

1.1. Do I need to restart the TIF server after changing a file below ${TIF_ROOT}/modules/enovia/cfg?

NO. The ENOVIA/3DExperience Connector is built upon the TVC Core framework and utilizes the XML configuration caches and framework from there. If you configure TVC to run in DEVELOPMENT mode your configuration files will be reloaded if they are changed, e.g. the internal caches will track the modified timestamp on the files to detect if they are changed or not.

To configure the TVC production mode setting, please take a look at the instructions within the file ${TIF_ROOT}/modules/enovia/etc/tvc.properties.

2. Connect to TIF Embedded DB

If your TIF instance is not running, and you want to connect with the internal embedded DB, you can do so via a tool called IJ. The IJ tool is part of the Apache Derby DB bundle, which can be downloaded from this location:

https://archive.apache.org/dist/db/derby/db-derby-10.14.2.0/db-derby-10.14.2.0-bin.zip
The tool needs file access to the TIF data files in order to access the DB when TIF server is offline

In the bin directory, the IJ tool is located.

Once started, you need to connect with the DB. The JDBC URL to the DB depends on where your TIF installation lives, but below is an example how to connect:

connect 'jdbc:derby:c:/apps/tif/data/tif-node-name/TIF-1/db.home/TIFDB';

Note that the tif-node-name and the TIF instance ID needs to be changed as well.

The DB tables are kept in the TIF schema.

Remember to quit IJ completely before attempting to start TIF again, as IJ will hold locks on the DB files preventing TIF from start.

Use IJ with care, you can easily destroy the data and cause TIF to not operate correctly or even not start

3. Troubleshooting

3.1. NoClassDefFoundError: org/slf4j/ext/XLoggerFactory

As of version 2019.2.0, the slf4j-ext library is bundled with TIF.

If you encounter errors like below in the logs, you need to add the SLF4J-EXT JAR file into TIF. The reason is that some ENOVIA/3DExperience triggers may use this XLoggerFactory.

Error: #1900068: add business object failed
System Error: #5000001: System Error: #5000001: java.lang.Exception: Error: #1900068: modify business object failed
System Error: #5000001: System Error: #5000001: java.lang.NoClassDefFoundError: org/slf4j/ext/XLoggerFactory
]

You need to include the slf4j-ext.jar file into the folder ${TIF_ROOT}/lib/custom. The dependency to search for have the following group/artifact IDs:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-ext</artifactId>
</dependency>

3.2. bad argument for IP_MULTICAST_IF: address not bound to any interface

If you see the error message "java.lang.RuntimeException: bad argument for IP_MULTICAST_IF: address not bound to any interface" upon startup, you can try adding the following Java parameter to the TIF start script

-Djava.net.preferIPv4Stack=true