Hello Rajesh, We don't have direct experience with this specific integration to share, but in principle we don't pose any restriction on what you can put in the adapters.
However, the Adapters are loaded in dedicated ClassLoaders and this should be taken into account.
See the "classloader" elements in adapters.xml.

To have the Data and Metadata Adapter see each other, it is enough that you stick to the default configuration.
In this case, a single ClassLoader loads everything in the "lib" subdirectory and is used to load both adapters.
In this way, also any external library that you put in the common "lib" subdirectory is visible from both adapters.
The same ClassLoader is also set as the "context ClassLoader" in all invocations to the adapters.
You should ensure that the library doesn't have additional requirements that are not compatible with this structure.

It may also be important to consider the order in which the Adapters are loaded and initialized.
By leveraging the <metadata_adapter_initialised_first> element in adapters.xml you can ensure that the load and initialization of the Metadata Adapter is the first entry point in your code.