Hi Mikhail,
There wasn't an intentional change but there has been a signficant
amount of change in the area.
I have a question below:
On 08/02/2025 17:39, Mikhail Komyshev wrote:
Hi!
I have an application that uses Fuseki Main server and tried updating
the jena-fuseki-server-X.X.X.jar binary from 5.2.0 to 5.3.0 from [1].
But from some reason, auto modules stopped loading.
Unfortuantely, I haven't found any notices about changes in this regard.
Sorry if I missed something. Did the behaviour change or is this a bug?
The minimal example is as follows (suppose compiled against
org.apache.jena/jena-fuseki-main from Maven version 5.3.0):
```
package com.example;
import java.util.Set;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.fuseki.main.sys.FusekiAutoModule;
import org.apache.jena.fuseki.main.FusekiServer;
public class MyModule implements FusekiAutoModule {
public MyModule() {}
public String name() {
return "My Module";
}
public void prepare(
FusekiServer.Builder builder,
Set<String> datasetNames,
Model configModel
) {
System.out.println("Hello world!");
}
}
```
Then, in the file `META-INF/services/
org.apache.jena.fuseki.main.sys.FusekiAutoModule` on the classpath, you
put this line:
```
com.example.MyModule
```
When running the following shell command, you can see the info message
about the module being loaded and the Hello world message in the
standard output:
```
java -cp jena-fuseki-server-5.2.0.jar:src/java:resources \
org.apache.jena.fuseki.main.cmds.FusekiMainCmd --mem --modules=true \
'/test'
```
How is the file com/example/MyModule.class getting onto the classpath?
Yet, running the same command with the 5.3.0 binary doesn't seem to load
the module and therefore doesn't produce the two messages.
Thanks in advance!
[1]: https://repo1.maven.org/maven2/org/apache/jena/jena-fuseki-
server/5.3.0/jena-fuseki-server-5.3.0.jar
Cheers,
Mikhail