与此问题类似:http://forum.springsource.org/showthread.php?111992-Loading-a-list-from-properties-file-using-Value-annotation(对此没有回复)
我想在.properties文件中有一个值列表,即:
my.list.of.strings=ABC,CDE,EFG
Run Code Online (Sandbox Code Playgroud)
并直接加载到我的班级,即:
@Value("${my.list.of.strings}")
private List<String> myList;
Run Code Online (Sandbox Code Playgroud)
据我所知,这样做的另一种方法是将它放在spring配置文件中,并将其作为bean引用加载(如果我错了,请纠正我),即
<bean name="list">
<list>
<value>ABC</value>
<value>CDE</value>
<value>EFG</value>
</list>
</bean>
Run Code Online (Sandbox Code Playgroud)
但有没有办法做到这一点?使用.properties文件?ps:如果可能的话,我想用任何自定义代码执行此操作.
我在将EBS卷连接到我的Ubuntu EC2实例时遇到问题.
这是我做的:
在Amazon AWS Console中,我创建了一个EBS 150GB卷并将其附加到Ubuntu 11.10 EC2实例.在EBS卷属性下,"附件"显示:"[我的Ubuntu实例ID]:/ dev/sdf(附加)"
尝试将驱动器安装在Ubuntu盒子上,它告诉我"mount:/ dev/sdf不是块设备"
sudo mount /dev/sdf /vol
所以我检查了fdisk并尝试从新位置挂载,它告诉我它不是正确的文件系统.
sudo fdisk -l
sudo mount -v -t ext4 /dev/xvdf /vol
错误:
mount:错误的fs类型,错误的选项,/ dev/xvdf上的错误超级块,缺少代码页或帮助程序,或者其他错误在某些情况下,在syslog中找到有用的信息 - 试试dmesg | 尾巴左右
"dmesg | tail"告诉我它出现了以下错误:
EXT4-fs(sda1):VFS:找不到ext4文件系统
我也尝试按照http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance的说明将配置放入/ etc/fstab文件,但仍然给出了相同的权利文件系统错误.
问题:
Q1:基于第1点(上图),为什么在真正映射到'/ dev/xvdf'时,卷会映射到'dev/sdf'?
Q2:我还需要做些什么才能加载EBS卷?当我将它附加到实例时,我认为它只会照顾我的一切.
目前有两个主要的Java Object to Object映射框架取代了Dozer(http://dozer.sourceforge.net/documentation/mappings.html),它们是:
除了这个页面(http://vytas.io/blog/java/java-object-to-object-mapping-which-framework-to-choose-part-2/)我还没找到关于哪个框架比另一个更好,或者在什么情况下它们更好的在线.想知道是否有人可以对此有所了解.在基于文档的功能方面,它们似乎在做同样的事情.
我正在使用ehcache 2.5.4.
我有一个对象需要在白天缓存,并在每天00:00 am刷新一个新值.
目前使用ehcache配置我只能设置生存时间和空闲时间,但这取决于我创建对象的时间或使用时间.即:
<cache
name="cache.expiry.application.date_status"
maxElementsInMemory="10"
eternal="false"
timeToIdleSeconds="60"
timeToLiveSeconds="50" />
Run Code Online (Sandbox Code Playgroud)
有没有办法让ehcache根据特定时间使特定缓存过期.
我一直在努力为我写的基于Spring MVC的Rest服务找到一个简单的通用单元测试框架.
我一直在网上搜索并缩小到:
我喜欢RestFuse,因为它主要基于注释,但是放心似乎有一种更简单的方法来传递参数和检查响应.最后成为一个Spring MVC Rest Service项目,我想知道我是否应该坚持使用MockMVC在Spring中测试Rest Services的已经建立的方法.
有兴趣获得任何反馈,以及表现,过去的经验,如果还有什么我应该考虑.
关于Eclipse的这个错误引发了许多类似的问题:
无法加载或找到模块"xxx.war"的部署描述符.
这是一个非常普遍的错误,在搜索网络后,我有多种不同的原因和解决方案.我将尝试在这里列出所有这些,所以其他人不必经历我做的同样的事情.
如果有人遇到其他原因和解决方案,请在此处列出.=)
(主持人,在判断这个问题之前,请等我回答)
简短的问题
基于流的编程可以取代 BPMN 的作用吗?或者它们是针对不同情况的不同工具。如果是这样,例子会很棒。谢谢。
更长的故事
最近我一直在尝试用 Javascript 创建一个 BPMN 实现。在过去,我会在 Java 上使用 Camunda,现在我想尝试一些新的东西。我转向 BPMN 的原因是因为代码的逻辑会非常复杂,使用可视化表示会更容易维护和编辑。
javascript 上的 BPMN:我遇到了https://www.npmjs.com/package/bpmn,它可以满足我的需求,但是在运行并行门时,经过测试似乎不是异步的。此外,每周下载次数为 26(非常低)。
Flow:进一步的研究揭示了基于 Flow 的编程,它允许我绘制流程图来构建一个工作应用程序。比如 Node-Red、Slang、NoFlow。而且似乎也是异步的。
有关基于流的编程的问题:使用 FBP,它似乎是异步的,并且具有很好的逻辑图表示并且可以维护。我查看了它,随着我越来越困惑,因为 FBP 的实现太多了,有些是提供并绑定到 3rd 方供应商(即:https : //developer.getflow.com/)。其中很多都被宣传用于物联网。我是否可以将它集成为更大的应用程序的一部分而无需任何运行时 3rd 方依赖项?我可以像在 Java 中使用 Camunda BPMN 一样使用它吗?
参考: 基于流的编程 https://www.quora.com/Will-visual-flowchart-programming-be-better-than-coding https://en.wikipedia.org/wiki/Flow-based_programming
我正在使用PrimeFaces 3.4和PrimeFaces Mobile 0.9.3.我在inputText属性中指定了maxlength,但它没有在HTML中呈现.我的代码:
<p:inputText id="price" value="#{bean.price}" styleClass="r-align"
type="number" maxlength="9" validator="priceValidator"/>
Run Code Online (Sandbox Code Playgroud)
后来我发现当我从标签中删除"type"属性时,max length有效.有谁知道为什么会这样?
我正在使用JSF 2.
我有一个方法,检查值列表中的匹配值:
@ManagedBean(name="webUtilMB")
@ApplicationScoped
public class WebUtilManagedBean implements Serializable{ ...
public static boolean isValueIn(Integer value, Integer ... options){
if(value != null){
for(Integer option: options){
if(option.equals(value)){
return true;
}
}
}
return false;
}
...
}
Run Code Online (Sandbox Code Playgroud)
要在EL中调用此方法,我试过:
#{webUtilMB.isValueIn(OtherBean.category.id, 2,3,5)}
Run Code Online (Sandbox Code Playgroud)
但它给了我一个:
SEVERE [javax.enterprise.resource.webcontainer.jsf.context](http-localhost/127.0.0.1:8080-5)java.lang.IllegalArgumentException:参数个数错误
有没有办法从EL执行这样的方法?
我正在使用Java 7和hibernate 4.
想要使用oracle Interval数据类型(http://psoug.org/definition/INTERVAL.htm)来表示特定天数的间隔.
想知道用什么Java Type来映射这个Oracle Interval对象.
我想使用标准的Java对象,而不是本文档中提到的任何oracle.sql.*对象http://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htm.
这是我正在玩的桌子:
CREATE TABLE "MyTest" (
"ID" NUMBER(14,0) NOT NULL
"DELIVERY_PERIOD" INTERVAL DAY (3) TO SECOND (6),
CONSTRAINT "MYTEST_PK" PRIMARY KEY ("ID"));
Run Code Online (Sandbox Code Playgroud)
编辑
我已经试过了
@Temporal(TemporalType.TIME)
private java.util.Date deliveryPeriod;
Run Code Online (Sandbox Code Playgroud)
得到错误:
Caused by: java.sql.SQLException: Invalid column type: getTime not implemented for class oracle.jdbc.driver.T4CIntervaldsAccessor
Run Code Online (Sandbox Code Playgroud)
编辑2
http://docs.oracle.com/cd/B12037_01/java.101/b10983/datamap.htm
我知道将它映射到Java String会起作用,但我想得到它是某种日期对象所以我不必自己解析它.
http://objectmix.com/jdbc-java/41781-oracle10g-oracle-sql-interval-type.html
我还想避免使用oracle特定的数据类型,如oracle.sql.INTERVALS
我的 Windows 10 计算机上安装了现有的普通 Python,但我不想重新安装 Anaconda。
当尝试在 vscode 中运行 ipynb 文件中的代码时,出现以下错误:
Error: Jupyter cannot be started. Error attempting to locate jupyter:
at A.startServer (c:\Users\[username]\.vscode\extensions\ms-python.python-2020.2.64397\out\client\extension.js:1:786120)
at async A.ensureServerAndNotebookImpl (c:\Users\[username]\.vscode\extensions\ms-python.python-2020.2.64397\out\client\extension.js:1:785575)
at async A.ensureServerAndNotebook (c:\Users\[username]\.vscode\extensions\ms-python.python-2020.2.64397\out\client\extension.js:1:785376)
at async A.submitCode (c:\Users\[username]\.vscode\extensions\ms-python.python-2020.2.64397\out\client\extension.js:1:782328)
at async A.reexecuteCell (c:\Users\[username]\.vscode\extensions\ms-python.python-2020.2.64397\out\client\extension.js:75:879318)
Run Code Online (Sandbox Code Playgroud)
以下是我尝试过的一些事情:
检查VSCode扩展是否正确安装
“Jupyter”扩展已被弃用。我安装了 Microsoft 的“Python”插件,其中包含 Jupiter Notebook 支持。
Jupyter安装正确
我尝试重新安装 jupyter:
> python -m pip install --upgrade pip
> pip install jupyter
> pip install notebook
Run Code Online (Sandbox Code Playgroud)
尝试在终端/命令行上运行 Jupyter
> jupyter notebook //didn't work
jupyter : The term 'jupyter' …
Run Code Online (Sandbox Code Playgroud) python python-3.x jupyter visual-studio-code jupyter-notebook
我正在使用JSF 2.
对于其中一个页面,它需要包含以下行的页面:
domain/subdomain/cms/[userspecified_code].html
Run Code Online (Sandbox Code Playgroud)
我用ui:include标签来获取这个文件.它适用于存在的文件,但对于不存在的文件,它会抛出FileNotFoundException,将整个页面呈现为错误页面.
是否有一个替代解决方案ui:include标签跳过/记录文件错误,只显示一个空的部分?这样可以最大限度地减少对用户的干扰(包含的文件只是页面的一小部分,如果没有匹配的文件,我宁愿不显示任何内容).我能想到的一种方法是加载ajax部分,所以如果出现错误,它将是一个javascript错误而不是一个服务器错误,但是有更优雅/更简单的方法吗?
这是我目前拥有的xhtml:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html">
Lots of other html....
<ui:include src="domain/subdomain/cms/#{userspecified_code}.html"/>
Lots of other html....
</html>
Run Code Online (Sandbox Code Playgroud)
编辑
嗨,大家好,谢谢你的所有答案.我正在寻找一种不需要我自己添加所有文件检查逻辑的解决方案.
我目前在我的SQL中使用lower()函数.
根据此线程,在列上使用lower()将导致全表扫描: 避免全表扫描
有没有办法防止这种情况或最小化扫描的影响?我正在使用Oracle 10.
我的Sql:
select * from USER u where lower(u.USERNAME) = lower(?)
Run Code Online (Sandbox Code Playgroud) java ×6
jsf-2 ×3
database ×2
hibernate ×2
oracle ×2
amazon-ebs ×1
amazon-ec2 ×1
bpmn ×1
caching ×1
camunda ×1
eclipse ×1
ehcache ×1
el ×1
html ×1
html5 ×1
javascript ×1
jpa ×1
jupyter ×1
mapping ×1
mapstruct ×1
mockmvc ×1
node.js ×1
primefaces ×1
python ×1
python-3.x ×1
rest ×1
rest-assured ×1
restfuse ×1
spring ×1
spring-mvc ×1
sql ×1
xhtml ×1