我一直在研究Gradle,看起来很有趣.我认为能够用除XML之外的任何其他语言编写脚本非常酷,我不清楚多语言Maven POM文件是否仍然是一个可行的选择.
我正在开发一个使用Maven 2.2.1作为构建工具的项目.这个项目:
从Maven到Gradle的迁移是否有任何经验?陷阱,痛点,角落案件?任何形式的经验都是非常受欢迎的.
我在JBoss 7.1.1上使用PrimeFaces 3.2.
我试图在MySQL数据库中显示存储在BLOB中的图像<ui:repeat>
.图像存储在a中byte[]
,然后转换StreamedContent
为如下:
InputStream stream = new ByteArrayInputStream(ingredient.getImage());
ingredient.setJsfImage(new DefaultStreamedContent(stream, "image/jpg"));
Run Code Online (Sandbox Code Playgroud)
然后我试图在Facelet中显示它如下:
<ui:repeat var="ingredient" value="#{formBean.ingredientResultSet}">
<p:panel id="resultsPanel" header="#{ingredient.location.shopName}">
<p:graphicImage value="#{ingredient.jsfImage}" alt="No picture set" />
...
Run Code Online (Sandbox Code Playgroud)
但是,在加载页面时,我在JBoss中收到以下错误:
SEVERE [org.primefaces.application.PrimeResourceHandler](http - 127.0.0.1-8080-12)流式动态资源出错.
这是怎么造成的,我该如何解决?
我有一个JMS客户端,它生成消息并通过JMS队列发送给其唯一的消费者.
我想要的是不止一个消费者获得这些消息.我想到的第一件事就是将队列转换为主题,因此当前和新的消费者可以订阅并获得传递给所有消息的相同消息.
这显然涉及在生产者和消费者方面修改当前客户端代码.
我还想看看其他选项,比如创建第二个队列,这样我就不必修改现有的消费者了.我相信这种方法有一些优点(如果我错了,请纠正我)平衡两个不同队列之间的负载而不是一个,这可能会对性能产生积极影响.
我想就你可能会看到的这些选项和缺点/专业人士提出建议.任何反馈都非常感谢.
有谁知道我是否应该使用属性占位符作为限定符中的表达式?我似乎无法让这个工作.
我使用的是Spring 3.0.4.
@Controller
public class MyController {
@Autowired
@Qualifier("${service.class}")
Service service;
}
@Service
@Qualifier("ServiceA")
ServiceA implements Service {
public void print() {
System.out.println("printing ServiceA.print()");
}
}
@Service
@Qualifier("ServiceB")
ServiceB implements Service {
public void print() {
System.out.println("printing ServiceB.print()");
}
}
Run Code Online (Sandbox Code Playgroud)
XML:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="file:/etc/config.properties"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
config.properties:
config.properties
service.class=serviceB
Run Code Online (Sandbox Code Playgroud) 我知道可以在方法调用之前使用@AroundInvoke注释来使用拦截器.
我想要做的是在方法调用之后执行某些代码,这样我就可以在方法执行之前和之后创建一个日志条目.
这可能是EJB3,还是我需要使用AOP?
我想向我的客户端提供一个.jar文件,但我的项目目前是用Maven构建的,我有几个模块可以生成一个.jar.
我知道嵌套不同的.jar文件并不是一个好主意,所以我不知道如何实现这一目标.
有任何想法吗?
我正在试图在同一个Glassfish中使用本地EJB,但不同的耳朵.但Glassfish无法找到本地EJB或无法使用
我读到了这一点: 根据JavaEE教程,@ Local bean的客户端必须在与它访问的企业bean相同的JVM中运行.
在第一只耳朵中,我在jar中有本地接口
@Local
public interface MyLocalBean {
int getNumber(int num3);
}
Run Code Online (Sandbox Code Playgroud)
在另一个jar中,我有实现
@Stateless
@LocalBean
public class MyLocalBeanImpl implements MyLocalBean,Serializable{
public MyLocalBeanImpl() {}
public int getNumber(int num3){......
Run Code Online (Sandbox Code Playgroud)
在第二只耳朵中,在同一条Glassfish中
我在jar里面有本地接口
@Local
public interface MyLocalBean {
int getNumber(int num3);
}
Run Code Online (Sandbox Code Playgroud)
在另一个罐子里,我有消费者
@Stateless
@LocalBean
public class BeanConsumer{
@EJB(name="MyLocalBeanImpl")
private MyLocalBean beanlocal;
Run Code Online (Sandbox Code Playgroud)
使用@EJB和(name ="MyLocalBeanImpl")参数时,错误是:
Cannot resolve reference Local ejb-ref name=MyLocalBeanImpl,Local 3.x
interface =my.package.MyLocalBean,ejb-link=null,lookup=,
mappedName=,jndi-name=,refType=Session|#]
Run Code Online (Sandbox Code Playgroud)
使用@EJB和(name ="my.package.MyLocalBeanImpl")参数,错误是:
Cannot resolve reference Local ejb-ref name=my.package.MyLocalBeanImpl,
Local 3.x interface =my.package.MyLocalBean,ejb-link=null,
lookup=,mappedName=,jndi-name=,refType=Session|#]***
Run Code Online (Sandbox Code Playgroud)
我也尝试使用mappedName
@Stateless(name="MyLocalBeanImpl",mappedName …
Run Code Online (Sandbox Code Playgroud) JSR-330根据包指定了某些命名约定,例如:
javax.inject.Inject
javax.inject.Scope
Run Code Online (Sandbox Code Playgroud)
Guice是JSR-330的参考实现.但是,在使用它时,您会注意到它不符合规范.例如:
com.google.inject.Inject
com.google.inject.Scope
Run Code Online (Sandbox Code Playgroud)
到目前为止我看到的任何参考实现都没有发生这种情况.是什么让Google Guice如此特别,以至于他们可以忽略他们正在实施的规范?
我正在尝试为Web服务版本控制制定策略,以及如何从SCM的角度处理版本.
我们正在进行自下而上(JAX-WS)服务,因此对模式的控制较少,并且无法遵循最佳实践的某些模式版本.我目前的想法是:
1)重大变化(非向后兼容):
HTTP://com.example/v1/MyService
HTTP://com.example/v2/MyService
在我看来,这对客户和开发人员来说都不那么麻烦.客户端只更新服务URL(通常在一个地方)而不是更新所有服务调用(比如使用服务名称版本 - MyServiceV1,MyServiceV2,...).
2)微小变化(向后兼容):
这是我有更多疑虑的地方.一些最佳实践涉及修改模式命名空间,而后者又涉及升级兼容客户.
在服务器端清楚,因为我正在使用上面的策略([service_name] - [major].[minor])
对于上述策略的意见和对次要版本控制的建议表示赞赏.
首先,抱歉我的英语不好。\n我已经完成了研究,但没有任何相关答案来解决我的问题。\n我已经理解并了解了 CodePages Utf 8 以及有关 c 或 c++ 中的其他内容,\nand还知道字符串可以保存 utf8。\n我的开发机器 winxp english,控制台代码页设置为 1254(Windows 土耳其语),我可以使用土耳其语扩展字符 (\xc4\xb0\xc4\xb1\xc4\x9f\xc5\x9f\xc3 \xa7\xc3\xbc\xc3\xb6) 在 std::string 中,计算它们并将它们发送到 mysqlpp api 以写入数据库。没有问题。但是当我想使用curl 获取一些html 并将其写入std::string 时,我的问题就开始了。
\n\n#include <iostream>\n#include <windows.h>\n#include <wincon.h>\n#include <curl.h>\n#include <string>\nint main()\n{\n SetConsoleCP(1254);\n SetConsoleOutputCP(1254);\n std::string s;\n std::cin>>s;\n std::cout<<s<<std::endl;\n return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n当我运行这些并输入 \xc4\x9f\xc5\x9f\xc3\xa7\xc3\xb6\xc3\xbc\xc4\xb0\xc4\xb1 时,输出是相同的 \xc4\x9f\xc5\x9f\xc3\ xa7\xc3\xb6\xc3\xbc\xc4\xb0\xc4\xb1;
\n\n#include <iostream>\n#include <windows.h>\n#include <wincon.h>\n#include <curl.h>\n#include <string.h>\n\nsize_t writer(char *data, size_t size, size_t nmemb, std::string *buffer);\n{\n int res;\n if(buffer!=NULL)\n {\n buffer->append(data,size*nmemb);\n res=size*nmemb;\n }\n return res;\n}\nint main()\n{\n SetConsoleOutputCP(1254);\n std::string html;\n CURL *curl;\n CURLcode result;\n curl=curl_easy_init();\n …
Run Code Online (Sandbox Code Playgroud) java ×5
ejb-3.0 ×2
maven-2 ×2
c++ ×1
codepages ×1
ejb ×1
glassfish-3 ×1
gradle ×1
graphicimage ×1
guice ×1
interceptor ×1
jar ×1
java-ee ×1
jms ×1
jsf ×1
jsr330 ×1
libcurl ×1
messaging ×1
migration ×1
primefaces ×1
spring ×1
string ×1
svn ×1
uirepeat ×1
utf-8 ×1
versioning ×1
web-services ×1