M14 runnodes cannot start the Controller - corda

After upgrading to M14, the controller node cannot start with the following exception.
Is there anything different from M13 here?
Thanks.
Exception in thread "main" java.lang.NoClassDefFoundError: net/corda/webserver/services/WebServerPluginRegistry
\Sean

This issue is generally caused by having a single plugin file implements WebServerPluginRegistry while also subclassing CordaPluginRegistry.
You can fix this by splitting the WebServerPluginRegistry and CordaPluginRegistry into two separate classes.

Related

Error while issuing a state in Postgres Corda 4.6 OS

Following are the error I got when trying to initiate a state in Corda 4.6OS using Postgres:
"net.corda.core.CordaRuntimeException: com.esotericsoftware.kryo.KryoException: java.lang.UnsupportedOperationException: net.corda.nodeapi.internal.persistence.CordaPersistence, which is a closeable resource, has been detected during flow checkpointing. Restoring such resources across node restarts is not supported. Make sure code accessing it is confined to a private method or the reference is nulled out."
unfortunately with just this information it's hard to know what exactly happened.
Here's some examples of what could be happening.
look carefully through the stacktrace, if you're getting an unsupported runtime exception or other exceptions from code that's not in your control look around and make sure you're using packages / resources that line up with the cordapp template.
For example I had something like this for a couple hours because I was using the wrong junit package in my imports and the tests weren't initializing properly so you can get errors like this one and it won't be obvious at all why unfortunately.
Here's a link to the cordapp template, try to carefully check your flow / state to make sure all the imports are reasonable and you're using the right packages / gradle dependencies.
https://github.com/corda/cordapp-template-java
https://github.com/corda/cordapp-template-kotlin
good luck

Getting exception when instantiating AlternatorDBClientV2

When I am trying to create a new instance of AlternatorDBClientV2 I am getting below exception.
java.lang.NoSuchMethodError: com.amazonaws.transform.JsonErrorUnmarshaller: method ()V not found
at com.michelboudreau.alternatorv2.AlternatorDBClientV2.init(AlternatorDBClientV2.java:106)
at com.michelboudreau.alternatorv2.AlternatorDBClientV2.(AlternatorDBClientV2.java:100)
at com.michelboudreau.alternatorv2.AlternatorDBClientV2.(AlternatorDBClientV2.java:95)
I am using 0.12.0 version of alternator.
any idea why this exception is occurring.
Thanks!!
I recently ran into this as well.
JsonErrorUnmarshaller is a class internal to Amazon's SDK, and if you take a look in the jar's source, they apparently changed the constructor to take some arguments recently.
That means that the line at https://github.com/mboudreau/Alternator/blob/master/src/main/java/com/michelboudreau/alternatorv2/AlternatorDBClientV2.java#L106 would fail, as it calls new JsonErrorUnmarshaller().
I'm afraid you might need to configure local DynamoDB. Alternator hasn't been updated in 2 years, there's going to be incompatibilities.

what Jar's are needed for and ActiveMQ client, application

I have activemq-client-5.13.3.jar on my class path, but i keep getting
Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/JMSException
If i use activemq-all-5.13.3.jar on my class path, every thing works.
however I am not allowed to use the activemq-all jar.
added jms-api-1.1-rev-1.jar
and now Exception in thread "main" java.lang.NoClassDefFoundError: javax/management/j2ee/statistics/Stats
You can use maven to determine this with the mvn dependency:tree command or use other maven centric tools to explore the artifacts dependencies.
At a minimum you would need these for v5.13.3
slf4j-api.jar geronimo-jms_1.1_spec.jar hawtbuf.jar
Then you can add an slf4j binding like log4j or logback to get proper logs. There are some others that you might want depending on where / how you are using it like the geronimo-j2ee-management_1.1_spec jar.
Of course if you use maven to build you can make this simpler since it will manage the deps for you.
I found same problem with my java application. I needed to insert Spring Boot for rest web service (Jetty Server) and now ActiveMQ for others data exchange.
With
activemq-client-5.15.11.jar; geronimo-jms_1.1_spec-1.1.1.jar; geronimo-j2ee-management_1.1_spec-1.0.1.jar; hawtbuf-1.11.jar;
all works.

Unable to integrate Factory Pattern along with Spring-Swagger

I have implemented factory pattern using ServiceLocatorFactoryBean by following this reference.
It is working fine.
I am using swagger-springMVC (SpringFox), It is also working fine.
But, when I am trying to use factory pattern along with swagger then It is throwing below exceptions,
Could not autowire field: org.test.MyProject.MyFactory org.test.MyProject.controller.MyController.myFactory; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.test.MyProject.MyFactory] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {#org.springframework.beans.factory.annotation.Autowired(required=true)}
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:561)
I have tried in all possible ways by following several resources but unable to find a solution. Can anyone please help me resolve this issue?
You need to provide a proper root path in your ComponentScan path. I have faced same kind of issue; after I fixed the ComponentScan path, it is working now as expected.

CDI on GlassFish 3.1.1 b12 generates error "WELD-001408 Unsatisfied dependencies"

I'm trying to evaluate CDI on Glassfish 3.1 and even though I have accomplished to make it work well, when I'm trying to split my code in separate deployment modules I get a weird error. More specifically:
I have two classes bundled in the same utility project (let's say the CommonLib.jar); the classnames are UserDatabase and UserDatabaseEntityManager and their definitions are as below (in the PS at the end of this message).
I also have an EAR with an EJB3.1 module in it.
When I choose to deploy the CommonLib.jar as a "Bundled Library" of the EAR, then I get the following error:
Error occurred during deployment: Exception while loading the app : WELD-001408 Unsatisfied dependencies for type [EntityManager] with qualifiers [#UserDatabase] at injection point [[field] #UserDatabase #Inject com.test.TestEJB.itemPersistenceEm]. Please see server.log for more details.
Same error as above I get also when I deploy the CommonLib.jar as a shared library (jar file copied under $glasshfish_installation_path/domains/domain1/lib)
BUT, if I choose to just have the two classes (UserDatabase and UserDatabaseEntityManager) in the EJB project (thus they are compiled within the EJB module), then the injection works fine.
Am I facing a classloader issue? Any ideas how I can get past this issue?
Just a guess, because I faced a very similar problem with Glassfish and CDI a few days ago: Do you have a beans.xml in every JAR, i.e. in the CommonLib.jar and the EJB JAR, so that CDI scans both of them?
My problem resulted from the fact that I thought placing a beans.xml into the EAR would be sufficient, which is not the case.
Sounds like you're running into some of the Glassfish CDI integration issues we've found while working on Seam 3. It could be a couple of them, so you'll have to take a look at see which one it may be. Try testing on JBoss AS7 or Apache TomEE and see if you still have problems.

Resources