使用Spring Boot 1.4从Spring Boot Test中排除Spring集成

我最近开始使用Spring Boot 1.4和新的Spring Boot Testfunction。 我正在使用spring-boot-starter-integration与Spring Boot 1.4.2.RELEASE并尝试使用新的@DataJpaTest测试我的存储库 当我运行我的测试时,我得到一个关于没有限定bean的exception。 有问题的bean是我的集成bean的handler 。 如何在JPA测试期间排除集成运行? 申请类别: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ImportResource; @SpringBootApplication @ImportResource(“integration.xml”) public class AutomateResultConsumerApplication { public static void main(String[] args) { SpringApplication.run(AutomateResultConsumerApplication.class, args); } } 测试类: @RunWith(SpringRunner.class) @DataJpaTest public class SampleHistoryRepositoryTest { @Autowired private TestEntityManager entityManager; @Autowired private SampleHistoryRepository sampleHistoryRepository; @Test public void findAllByObjectIdAndField() throws […]

删除sql不删除

我正试图从我的表中删除一个事件。 但是我似乎无法让它发挥作用。 我的SQL语句是: public void deleteEvent(String eventName){ String query = “DELETE FROM `Event` WHERE `eventName` ='”+eventName+”‘ LIMIT 1”; db.update(query); System.out.println (query); } 使用MySQL db

用Java创建WADL和WSDL?

我的任务是在Java中创建WADL和WSDL。 我有几个问题。 首先,WSDL是一个XML文档,它描述了客户端如何从SOAP系统请求信息。 WADL是一个XML文档,描述客户端如何从REST系统请求信息。 这些都是正确的吗? 如果是这样,他们到底做了什么? 我理解SOAP和REST如何正常使用HTTP,但是我无法理解WADL和WSDL的确切含义,它们的用途以及我应该如何在java中创建一个。

如何以更有效的方式从大型集合文件中删除停用词?

我有200,000个文件,我将为每个文件处理和提取令牌。 所有文件的大小为1.5GB。 当我编写用于从每个文件中提取标记的代码时,它运行良好。 在所有执行时间是10分钟。 在那之后,我试图删除stopwords性能严重下降。 这需要25到30分钟。 我正在使用网站上的停用词这里有大约571个停用词。 一般过程是一次从文本文件中提取每个停用词,并与文件中的每个令牌进行比较。 这是代码的存根 StringBuilder sb = new StringBuilder(); for(String s : tokens) Scanner sc=new Scanner(new File(“stopwords.txt”)); while(sc.hasNext()) { if(sc.next().equals(s)){ flag = true; break; } } if(flag) sb.append(s + “\n” ); flag = false; } String str = sb.toString() **忽略错误。 上述代码的性能至少比代码低10倍。 执行需要50到60分钟。 StringBuilder sb = new StringBuilder(); String s = […]

LazyInitializationException,同时使用TestNG对Spring中使用的Hibernate实体类进行unit testing

在我的Spring配置中,我已经要求会话在我的视图中保持打开状态: 但是,这个bean似乎并不认为我的TestNGunit testing是一种观点。 ;-)那没关系,但是unit testing是否有类似的bean,以便在unit testing时避免可怕的LazyInitializationException? 到目前为止,我的一半unit testing因此而死亡。 我的unit testing通常如下所示: @ContextConfiguration({“/applicationContext.xml”, “/applicationContext-test.xml”}) public class EntityUnitTest extends AbstractTransactionalTestNGSpringContextTests { @BeforeClass protected void setUp() throws Exception { mockEntity = myEntityService.read(1); } /* tests */ @Test public void LazyOneToManySet() { Set entities = mockEntity.getSomeEntitySet(); Assert.assertTrue(entities.size() > 0); // This generates a LazyInitializationException } } 我已经尝试将setUp()更改为: private SessionFactory sessionFactory […]

在没有sbt的情况下运行sbt创建的应用程序

这是某个问题的后续行动。 当我使用sbt创建Scala包时,我可以使用以下方法之一运行它: 只需在sbt控制台中键入run即可 或者通过创建一个jar文件(使用one-jar或assembly ),并通过键入java -jar myjar.jar在系统控制台中运行此jar java -jar myjar.jar 但我不知道该怎么做 从scala程序运行我的包? (不是sbt scala控制台,通过输入import mypackage._可以正常工作) 在另一个项目中使用我的Scala包? 例如,通过在另一个项目中导入myjar ? 编辑 :你可以忘记我下面关于sbt-start-script因为现在我正在使用sbt-native-packager (我刚试过它并且它有效,但我以前的问题仍未解决)。 我试过使用sbt-start-script但不成功。 target/start脚本创建良好但我得到了这样的错误: $ sh target/start target/start: 2: target/start: Bad substitution Exception in thread “main” java.lang.NoClassDefFoundError: Hi Caused by: java.lang.ClassNotFoundException: Hi … 这里我只在src/main/scala文件夹中有一个main.scala文件,它是: object Hi { def main(args: Array[String]) = println(“Hi!”) } 我在build.sbt使用这些设置: import com.typesafe.sbt.SbtStartScript […]

JMX身份validation – 基于角色的MBean操作

我已经通过RMI实现了JMXAuthenticator for JMX身份validation,但是我不确定如何创建角色以允许readonly / readwrite访问级别。 例如,在JMXAuthenticator.authenticate我有自定义身份validation逻辑,并希望这可以确定访问角色。 我尝试了以下但在JConsole中执行操作时没有任何区别: @Override public Subject authenticate(Object credentials) { Subject subject = new Subject(); JMXPrincipal p; //…my logic String accessLevel = myCustomLogic(); if (accessLevel.equals(“admin”)) { p = new JMXPrincipal(“adminrole”); } else { p = new JMXPrincipal(“basicrole”); } subject.getPrincipals().add(p); return subject; } 然后我创建了一个包含的访问文件jmxaccess.properties adminuser readwrite basicuser readonly 和jmx.management.properties ,其中包含com.sun.management.jmxremote.access.file=PATH TO ACCESS FILE […]

ClassNotFoundException在修改后的SimpleShortestPathsVertex上运行GiraphRunner

我对Giraph比较陌生,我正在努力让我的Giraph edit-compile-deploy循环适用于我们的代码。 我能够运行各种灵感来自http://blog.cloudera.com/blog/2014/02/how-to-write-and-run-giraph-jobs-on-hadoop/的例子,但我坚持不懈运行我的SimpleShortestPathsVertex Giraph示例的修改版本时出现ClassNotFoundException。 我已经尝试过-libjars和HADOOP_CLASSPATH的各种组合,但我没有想法,我真的很感谢你的帮助。 细节如下。 版本 Hadoop:Hadoop 2.0.0-cdh4.4.0 Giraph:giraph-examples-1.0.0-for-hadoop-2.0.0-alpha-jar-with-dependencies.jar PageRankBenchmark运行正常 $ hadoop jar $GIRAPH_HOME/giraph-examples/target/giraph-examples-1.0.0-for-hadoop-2.0.0-alpha-jar-with-dependencies.jar \ org.apache.giraph.benchmark.PageRankBenchmark \ -Dgiraph.zkList=:2181 \ -e 1 -s 3 -v -V 50 -w 1 … 14/08/01 11:42:44 INFO mapred.JobClient: Job complete: job_201407291058_0015 … (full output is below) GiraphRunner SimpleShortestPathsVertex也运行正常 $ hadoop jar $GIRAPH_HOME/giraph-examples/target/giraph-examples-1.0.0-for-hadoop-2.0.0-alpha-jar-with-dependencies.jar \ org.apache.giraph.GiraphRunner \ -Dgiraph.zkList=:2181 \ org.apache.giraph.examples.SimpleShortestPathsVertex \ […]

在Java ME中查找应用程序模式,是否空闲

我想在应用程序处于空闲模式时使用HTTP连接发送存储的RMS数据。 因此,如果用户当时没有对应用程序执行任何操作,我的线程将调用RMS数据并将其发送到服务器。 对于此要求,如何确定应用程序处于活动模式还是空闲模式?

Android保存RSA私钥和公钥

我需要保存我的RSA私钥和公钥。 我在这里创造它。 KeyPairGenerator kpg = KeyPairGenerator.getInstance(“RSA”); kpg.initialize(1024); KeyPair kp = kpg.genKeyPair(); publicKey = kp.getPublic(); privateKey = kp.getPrivate(); 现在我想下次使用这两个键。 所以它们应该存储在设备上。 byte[] publicKeyBytes = publicKey.getEncoded(); byte[] privateKeyBytes = privateKey.getEncoded(); 所以我可以获得字节数组,然后将它们保存为文本文件。 然后下次我读它并将其转换回字节数组。 现在我的问题:如何将字节数组转换回键? 这不起作用: KeyFactory keyFactory = KeyFactory.getInstance(“RSA”); X509EncodedKeySpec spec = new X509EncodedKeySpec(publicKeyBytes); publicKey = keyFactory.generatePublic(spec); spec = new X509EncodedKeySpec(privateKeyBytes); privateKey = keyFactory.generatePrivate(spec); 在LogCat上,这将显示: 必须使用RSAPublicKeySpec或PKCS8EncodedKeySpec; 是java.security.spec.X509EncodedKeySpec 这个代码有什么问题吗? 谢谢你的帮助。