Jersey SSE – eventOutput.write在发送第一条消息后抛出nullpointer

我使用Jersey实现了一个Restful Web界面,用于通过HTTP将从内部JMS发布者收到的消息发送到外部客户端。 我已经设法将测试消息发送到Java客户端,但线程在完成write()执行,关闭连接并阻止进一步通信之前抛出空指针exception。 这是我的资源类: @GET @Path(“/stream_data”) @Produces(SseFeature.SERVER_SENT_EVENTS) public EventOutput getServerSentEvents(@Context ServletContext context){ final EventOutput eventOutput = new EventOutput(); new Thread( new ObserverThread(eventOutput, (MService) context.getAttribute(“instance”)) ).start(); return eventOutput; } 这是我的线程的运行方法: public class ObserverThread implements Observer, Runnable { //constructor sets eventOutput & mService objects //mService notifyObservers() called when JMS message received //text added to Thread’s message queue […]

如何在Spring Boot中使用Hibernate / JPA返回多级json

我有一个Postgres数据库,有4个表父母,子女,团体和Group_Membership。 群组可以有多个父母,父母可以有多个群组。 父母可以有多个孩子,但孩子只能有一个孩子。 这是架构的愚蠢版本。 我正在使用Spring Boot和Hibernate JPA。 Parent.java @Entity @Table(name = “parents”) public class Parent { @Id @GeneratedValue @Column(name=”parent_id”) private Long parentId; @Column(name= “first_name”) private String firstName; @Column(name= “last_name”) private String lastName; @OneToMany(mappedBy=”parent”) private Set children; @ManyToMany(cascade = { CascadeType.ALL }) @JoinTable( name= “Group_Membership”, joinColumns = { @JoinColumn(name = “parent_id”) }, inverseJoinColumns = { @JoinColumn(name […]

创建不需要java命令的100%独立可执行jar

显然如果你创建一个可执行jar,为了运行它你仍然需要java命令: java -jar something.jar 但是,如果我只是希望它在没有java命令的情况下运行,那么只需直接从命令行运行即可 something.jar 有没有办法在eclipse中导出我的java应用程序,以实现这一目标

如何配置依赖于ejb jar的war并结合创建ear文件

我是Maven的新手并且也在学习它。 我在eclipse中有两个项目,一个是包含UI东西的零售产品,另一个项目是ejb项目零售服务。 我为这两个项目编写了单独的pom文件,并能够生成war和jar文件。 我要做的是。 a)我必须在war文件中配置jar文件,因为jar文件包含webappliction所需的ejb内容 b)创建war文件后,我必须创建ear文件,该文件将包含war文件。 我怎样才能做到这一点。 我在这里提供了两个pom.xmls。 4.0.0 RetailProducts RetailProducts 0.0.1-SNAPSHOT war RetailProducts com.sun.faces jsf-api 2.1.7 com.sun.faces jsf-impl 2.1.7 javax.servlet jstl 1.2 javax.servlet servlet-api 2.5 javax.servlet.jsp jsp-api 2.1 com.sun.el el-ri 1.0 JavaServerFaces org.apache.maven.plugins maven-compiler-plugin 2.3.1 1.6 1.6 org.apache.maven.plugins maven-war-plugin 2.1.1 <!– section added to pick up the WEB-INF/web.xml inside WebContent –> WebContent 4.0.0 RetailService […]

我可以使用Byte Buddy重新定义私有方法吗?

是否可以使用Byte Buddy来重新定义类的私有方法? 似乎使用Byte Buddy的入口点总是对现有类进行子类化。 这样做时,显然不可能重新定义父类的私有方法(至少不能以在父类中使用重新定义的方法的方式)。 请考虑以下示例: public class Foo { public void sayHello() { System.out.println(getHello()); } private String getHello() { return “Hello World!”; } } Foo foo = new ByteBuddy() .subclass(Foo.class) .method(named(“getHello”)).intercept(FixedValue.value(“Byte Buddy!”)) .make() .load(Main.class.getClassLoader(), ClassLoadingStrategy.Default.WRAPPER) .getLoaded() .newInstance(); foo.sayHello(); 输出将是“Hello World!”。 有没有机会得到“Byte Buddy!” 作为输出?

使用Bouncy Castle Java API生成X.509证书

我正在尝试使用Bouncy Castle Java API生成X.509证书。 我找到了示例代码: http://www.bouncycastle.org/wiki/display/JA1/X.509+Public+Key+Certificate+and+Certification+Request+Generation 但是,在编译以下代码之后,JVM会显示错误消息,如下所示 Could not find the main class: org.bouncycastle.util.AllTests. Program will exit. 请注意, org.bouncycastle.util.AllTests将插入到Java构建路径中。 如何修复我的代码才能正常工作? import java.math.BigInteger; import java.util.Date; import org.bouncycastle.asn1.ASN1Object; import org.bouncycastle.asn1.ASN1Sequence; import org.bouncycastle.asn1.x500.X500Name; import org.bouncycastle.asn1.x509.AlgorithmIdentifier; import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; import org.bouncycastle.cert.X509CertificateHolder; import org.bouncycastle.cert.X509v1CertificateBuilder; import org.bouncycastle.crypto.params.RSAKeyParameters; import org.bouncycastle.crypto.params.RSAPrivateCrtKeyParameters; import org.bouncycastle.operator.ContentSigner; import org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder; import org.bouncycastle.operator.DefaultSignatureAlgorithmIdentifierFinder; import org.bouncycastle.operator.bc.BcRSAContentSignerBuilder; public class X509CertificateCreator{ AlgorithmIdentifier sigAlgId […]

在Spring中按顺序实例化bean?

是否可以在Spring中设置实例化顺序? 我不想使用@DependsOn ,我不想使用Ordered接口。 我只需要一个实例化的命令。 @Order注释的以下用法不起作用: import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order; /** * Order does not work here */ public class OrderingOfInstantiation { public static class MyBean1 {{ System.out.println(getClass().getSimpleName()); }} public static class MyBean2 {{ System.out.println(getClass().getSimpleName()); }} @Configuration public static class Config { @Bean @Order(2) public MyBean1 bean1() { return new MyBean1(); } […]

哪里放组成组件?(JSF 2.0)

我正在继续我的JSF 2.0实践。 我认为模板是一件好事,它有很多优点。 但是今天我得到了一个与之相关的新疑问。 我为我的网页创建了一个模板。 在模板中,我使用标签 对于不同的部分(这些部分稍后将在一个页面中使用组合标记结合一个或多个定义标记来实现)。 同样在模板内部,为了避免在模板中添加太多代码,我创建 标签添加一些其他的xhtml块。 这是我的文件夹结构的样子: 这一切都像我一样工作,但当我在url导航到languageChanger.xhtml时,我看到了xhtml的复合块: 我的怀疑是: – 那些大量独立代码放在正确的位置?,或者它是错误的,不应该允许用户从URL中看到它? – 那个地方保存有其他组件,如登录,注册……? – 为了避免用户直接访问组件,我可以将它放在WEB-INF文件夹中,但是我有一个问题,包含标签找不到路径。 我该怎么办? – 什么是最佳实践,在哪里放置这些独立的代码块?

使用Hibernate OGM进行MongoDb身份validation

我可以使用shell命令在我的mongodb上进行身份validation: #mongo -u user -p pwd –authenticationDatabase admin MongoDB shell version v3.4.1 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.1 > use admin switched to db admin > show users { “_id” : “admin.ladmin”, “user” : “ladmin”, “db” : “admin”, “roles” : [ { “role” : “userAdminAnyDatabase”, “db” : “admin” } ] } { “_id” : […]

使用maven-plugin-testing-harness测试Maven插件

我想开发一个Maven插件并正确测试它。 我正在阅读有关maven-plugin-testing-harness的文档并尝试了几个小时。 我经常NoClassDefFoundError和NoSuchMethodError ,我无法弄清楚我需要哪些依赖项。 这是我的MCVE: https://github.com/highsource/hello-maven-plugin 现在我得到: java.lang.NoClassDefFoundError: org/apache/maven/plugin/descriptor/PluginDescriptorBuilder at org.apache.maven.plugin.testing.AbstractMojoTestCase.setUp(AbstractMojoTestCase.java:161) at junit.framework.TestCase.runBare(TestCase.java:139) at junit.framework.TestResult$1.protect(TestResult.java:122) at junit.framework.TestResult.runProtected(TestResult.java:142) at junit.framework.TestResult.run(TestResult.java:125) at junit.framework.TestCase.run(TestCase.java:129) at junit.framework.TestSuite.runTest(TestSuite.java:255) at junit.framework.TestSuite.run(TestSuite.java:250) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: java.lang.ClassNotFoundException: org.apache.maven.plugin.descriptor.PluginDescriptorBuilder at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 15 more 这是我的插件的pom.xml […]