[KEYCLOAK-8926] Fuse adapter: Missing runtime dependency

Fuse 7.x basically uses the same version as Keycloak, into other words,
`bcprov-jdk15on` version 1.60. The error reported here:
https://issues.jboss.org/browse/KEYCLOAK-8926 is related with the fact
that Bouncycastle was not being loaded during the boot time. If we look
at the logs we can find:

```
12:30:15 Red Hat Fuse starting up. Press Enter to open the shell now...
12:30:15 Unable to register security provider:
java.lang.ClassNotFoundException:
org.bouncycastle.jce.provider.BouncyCastleProvider
```

By changing `CustomFuseContainer` we will notice that the issue is
gone, because now Bouncycastle, which comes with Fuse distribution is
being added.
This commit is contained in:
Bruno Oliveira da Silva 2018-11-28 12:06:31 -02:00
parent ed0b5d4df1
commit d0ddbaec23

View file

@ -106,12 +106,16 @@ public class CustomFuseContainer<T extends KarafManagedContainerConfiguration> e
boolean fuse7 = new File(karafHomeDir, "lib/boot/").exists(); boolean fuse7 = new File(karafHomeDir, "lib/boot/").exists();
if (fuse7) { if (fuse7) {
log.info("Adding karaf4 libraries to classpath."); log.info("Adding karaf4 libraries to classpath.");
File karafLibBootDir = new File(karafHomeDir, "lib/boot/"); String[] libDirs = { "lib/boot/", "lib/ext/" };
String[] libs = karafLibBootDir.list((File dir, String name) -> name.endsWith(".jar")); for (String libDir : libDirs) {
for (String lib : libs) { File karafLibBootDir = new File(karafHomeDir, libDir);
String separator = classPath.length() > 0 ? File.pathSeparator : ""; String[] libs = karafLibBootDir.list((File dir, String name) -> name.endsWith(".jar"));
classPath.append(separator).append(new File(karafLibBootDir, lib)); for (String lib : libs) {
String separator = classPath.length() > 0 ? File.pathSeparator : "";
classPath.append(separator).append(new File(karafLibBootDir, lib));
}
} }
} else { //fuse6 } else { //fuse6
log.info("Adding karaf3 libraries to classpath."); log.info("Adding karaf3 libraries to classpath.");
File karafLibDir = new File(karafHomeDir, "lib"); File karafLibDir = new File(karafHomeDir, "lib");