草庐IT

property-write

全部标签

java - 使用动态值覆盖 Junit 测试中的默认 Spring-Boot application.properties 设置

我想在测试中覆盖application.properties中定义的属性,但@TestPropertySource只允许提供预定义的值。我需要的是在随机端口N上启动服务器,然后将此端口传递给spring-boot应用程序。该端口必须是临时的,以允许同时在同一主机上运行多个测试。我不是指嵌入式http服务器(jetty),而是在测试开始时启动的一些不同的服务器(例如zookeeper)并且被测试的应用程序必须连接到它。实现此目标的最佳方法是什么?(这里有一个类似的问题,但答案没有提到临时端口的解决方案-OverridedefaultSpring-Bootapplication.prope

java - Interface Annotation 不接受 application.properties 值

我开发了一个简单的注释界面@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)public@interfaceCustomAnnotation{Stringfoo()default"foo";}然后我测试它并注释一个类@CustomAnnotationpublicclassAnnotatedClass{}并使用方法调用它publicvoidfoo(){CustomAnnotationcustomAnnotation=AnnotatedClass.class.getAnnotation(CustomAnnotation.

java - Spring MVC : Binding 3 dropdowns to a date property in SimpleFormController

我应该如何配置类以将三个下拉列表(日期、月份、年份)绑定(bind)到单个日期属性,以便它按照“每个属性一个请求参数”场景的方式工作?我想应该通过覆盖initBinder方法来添加一些自定义PropertyEditors。还有什么? 最佳答案 AlekseyKudryavtsev:你可以在你的Controller中覆盖onBind方法,你不能在命令对象中摆弄一些特殊的东西,比如dateField=newSimpleFormat("YYYY-mm-dd").parse(this.year+"-"+this.month+"-"this.

Java/hibernate : how to write DAO code for complex SQLs

我目前的工作场所使用标准的Spring/Hibernate/JSP组合通过XML向其Flex客户端提供内容。访问数据的方式有很多种,但最普遍的方式是通过直接SQL调用数据库并手动转换为XML。问题在于,随着应用程序变得越来越大,SQL变得更加复杂且难以维护。好像维护使用StringBuilder创建的SQL还不够困难,现在更糟糕的是,这些SQL是使用许多if语句和循环动态构建的。我知道通常正确的方法是使用Hibernate查询和实体来获取项目。但是,在我们的某些请求中,结果无法映射到单个Hibernate实体,恐怕需要使用直接SQL。解决这个问题的正确方法是什么?有没有办法让动态sql

java - 在库中捆绑 log4j.properties - 糟糕的风格还是什么?

我发现了一个不错的Java小型Web请求框架:Spark.API看起来不错而且很有前途,但是库包本身很奇怪。撇开它建议使用快照工件作为依赖项这一事实不谈。撇开它使用log4j进行日志记录这一事实(现在图书馆倾向于使用jcl或slf4j),有时使用System.out.println。但它在spark-xxx.jar中捆绑了自己的log4j.properties。我花了一个小时来调查为什么当log4j.properties肯定存在于我的类路径中时我的项目会提示log4j配置。-Dlog4j.debug=true给出了答案,log4j承认它已经从sparkjar加载了log4j.prope

java - 覆盖 javamoney.properties 中的属性?

使用新的1.0版本JavaMoneyAPI与referenceimplementation我们尝试通过覆盖javamoney.properties来阻止资源加载器加载其他ExchangeRateProvider。{1}conversion.default-chain=MY-PROVIDER#TurnoffloadingofthedefaultMonetaExchangeRateProviders.{1}load.ECBCurrentRateProvider.type=NEVER{1}load.ECBHistoric90RateProvider.type=NEVER{1}load.ECB

java - 如何使用非固定值设置消息处理器间隔参数? (使用存储在 property\registry\etc 中的值)

我是WSO2ESB的新手,消息处理器存在以下问题。我有这个消息处理器定义,每秒从队列中提取一个元素(以前存储的XML文档)并调用名为transferProcessorSequence的序列对其进行处理。这是配置:transferProcessorSequence1000true1它工作正常。我的问题是我不必每秒都这样做(它不应该是一个固定值)但必须使用我存储在注册表中的值(最终我可以将这个值存储在其他地方)。而不是有这个设置:1000我必须从注册表或类似的东西(也是属性)中检索存储的值。我怎样才能做这样的事情?**编辑1:我正在尝试遵循Jean-Michel提供的解决方案,但在尝试使用

java - org.springframework.beans.NotWritablePropertyException : Invalid property 'adminEmails' of bean class

我被下面给出的这个错误卡住了:堆栈跟踪Apr16,201412:21:23PMorg.springframework.beans.factory.xml.XmlBeanDefinitionReaderloadBeanDefinitionsINFO:LoadingXMLbeandefinitionsfromclasspathresource[beans.xml]Exceptioninthread"main"org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'collection

Java:如何从资源文件夹加载 .properties?

我在IntelijWorkspace中有一个Manven项目,在/resources文件夹中,我添加了一个名为SBMessages.properties的.properties文件。现在,我试图从Java获取这个文件,它总是抛出FileNotFoundException。下面是我的项目树:以及我在SBConnector.class中获取.properties文件的代码:publicvoidinitialize(){SBMessages=newProperties();try{SBMessages.load(getClass().getResourceAsStream("/sb/elem

java - 获得 Cassandra Writes 背压的最佳方法是什么?

我有一项服务以我控制的速率从队列中消耗消息。我做了一些处理,然后尝试通过DatastaxJava客户端写入Cassandra集群。我已经使用maxRequestsPerConnection和maxConnectionsPerHost设置了我的Cassandra集群。但是,在测试中我发现,当我达到maxConnectionsPerHost和maxRequestsPerConnection时,对session.executeAsync的调用不会阻塞。我现在正在做的是使用newSemaphore(maxConnectionsPerHost*maxRequestsPerConnection)并