在PHP中,您可以执行以下操作:
method(array("a", "b"));
Run Code Online (Sandbox Code Playgroud)
您是否可以在Java中将String数组初始化为方法调用中的参数,如tihs:
method(new String[] = {"a", "b"});
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在调用一个需要客户端证书身份验证的Web服务.
如果我指定一个包含单个证书的Java密钥库(服务期望的客户端证书),那么一切正常.但是,如果我使用包含多个证书的密钥库,那么我似乎无法指定客户端应该选择哪个证书,客户端似乎会获取第一个可用证书(按字母顺序).
我尝试了以下属性,但没有预期的结果:
System.setProperty("com.sun.enterprise.security.httpsOutboundKeyAlias", "my-client-certificate alias");
Run Code Online (Sandbox Code Playgroud)
如何指定应使用哪个客户端证书别名?
我最近换成了MacBook,现在使用MAMP-stack进行本地开发.
在我早期的开发环境中,当我尝试通过Web浏览器访问PHP文件并发生错误时,我总能看到提供信息的错误报告.使用MAMP的默认安装似乎禁用了此功能,每当我遇到错误时我都看不到它的原因,我甚至看不到一行告知我发生了错误.
直到我开始在调试器中调试代码,我才能看到错误发生的位置.
知道如何打开错误报告吗?
我试过了:
error_reporting(E_ALL);
Run Code Online (Sandbox Code Playgroud)
虽然没有影响.
我想格式化的字符串如下所示:String datetime ="9/1/10 11:34:35 AM"
以下SimpleDateFormat模式的工作原理:
SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss");
Date d = sdf.parse(datetime);
System.out.println(d);
Output> [Wed Sep 01 11:34:35 CEST 2010]
Run Code Online (Sandbox Code Playgroud)
但是我也需要解析AM/PM标记,当我将其添加到模式时,我收到一个异常.
无效的模式:
SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss a");
Run Code Online (Sandbox Code Playgroud)
我也试过这个也有同样的例外:
SimpleDateFormat sdf = SimpleDateFormat("M/d/yy h:mm:ss aa");
Run Code Online (Sandbox Code Playgroud)
例外:
java.text.ParseException: Unparseable date: "9/1/10 11:34:35 AM"
Run Code Online (Sandbox Code Playgroud)
我查看了http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html#text上的API,但似乎无法找到我做错的地方.
有什么建议?
从Java,是否可以获得包含启动应用程序的所有参数的完整命令行?
System.getEnv()并且System.getProperties()似乎不包含值.
我使用Morphia Java驱动程序查询包含以下形式的集合的MongoDB:
MyCollection {
TypeA
TypeB
}
Run Code Online (Sandbox Code Playgroud)
我想使用以下代码检索TypeB的所有不同值:
DBCollection myCol = getDatastore().getCollection(MyCollection.class);
List typeBs = myCol.distinct("TypeB");
Run Code Online (Sandbox Code Playgroud)
上面的代码按预期工作,但不同值列表当然没有排序.
我已经尝试了以下代码:
DBCollection myCol = getDatastore().getCollection(MyCollection.class);
DBObject orderBy = new BasicDBObject("$orderby", new BasicDBObject("TypeB", 1);
List typeBs = myCol.distinct("TypeB", orderBy);
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,列表是空的,我的假设在哪里错了?
UPDATE
通过使用CLI我发现以下查询返回了预期的结果:
> db.mycollection.find({$query : {}, $orderby : { TypeB : 1 }})
Run Code Online (Sandbox Code Playgroud)
所以我相应调整了我的代码:
DBCollection myCol = getDatastore().getCollection(MyCollection.class);
BasicDBObject ascending = new BasicDBObject("TypeB", 1);
BasicDBObject filter = new BasicDBObject();
filter.put("$query", new BasicDBObject());
filter.put("$orderby", ascending);
List typeBs = myCol.distinct("TypeB", filter);
Run Code Online (Sandbox Code Playgroud)
仍然结果包含0个条目!
真正让我困惑的是,如果我使用.find而不是.distinct,同样的查询是有效的:
DBCollection myCol = …Run Code Online (Sandbox Code Playgroud) 我试图找出解决以下问题的可能性.
a)我想有一个使用"crontab语法"来安排任务的数据库表,结构将是这样的:
|-Id-|---Crontab Syntax---|---------Task----------|
| 1 | 30 * * * * * | MyClass.TaskA(args[]) |
| 2 | 0 1 * * 1-5 * | MyClass.TaskB(args[]) |
| | | |
上表将由外部应用程序随时修改.添加或删除的任务应立即影响调度程序.
b)调度程序本身应驻留在Java应用程序服务器上.它应该不断与数据库表中的活动计划任务同步.每当调度事件发生时,它应该触发/调用EJB,并将'Task'中的值作为参数.
我不是在寻找上述问题的答案.但是,在哪些框架中可以使用crontab解析的一些输入以及应该以何种方式部署表示调度程序的EJB.
提前致谢.
是否可以通过在应用程序启动时传递 JVM 选项来覆盖/设置 java.util.logging.Logger 的日志级别?
当我当前使用Jooq查询时,我明确地将每个记录对象转换为预期的记录类型.
Result<Record> result = sql.select().from(Tables.COUNTRY).fetch();
for (Record r : result) {
CountryRecord countryRecord = (CountryRecord) r;
//Extract data from countryRecord
countryRecord.getId();
}
Run Code Online (Sandbox Code Playgroud)
与Jooq一起,是否可能将结果直接转换为所需的记录类型?
如(这不编译):
Result<CountryRecord> countryRecords = (Result<CountryRecord>) sql.select().from(Tables.COUNTRY).fetch();
for (CountryRecord cr : countryRecords) {
cr.getNamet();
//etc...
}
Run Code Online (Sandbox Code Playgroud) 在wsdl文件中,我有以下行:
当我部署webapplication(在JBOSS 5.1.0上)并尝试访问wsdl时,我得到以下异常:
org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://schemas.xmlsoap.org/soap/http/.
org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:115)
org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:85)
org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
java.security.AccessController.doPrivileged(Native Method)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
org.jboss.wsf.stack.cxf.CXFServletExt.loadAdditionalConfigExt(CXFServletExt.java:124)
org.jboss.wsf.stack.cxf.CXFServletExt.loadBus(CXFServletExt.java:101)
org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
org.jboss.wsf.stack.cxf.CXFServletExt.init(CXFServletExt.java:73)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
se.marakanda.jboss.LoginContextValve.invoke(LoginContextValve.java:44)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
根据消息的相应JMS ID选择消息的正确语法是什么?
目前,我使用:
String selector = "JMSMessageID='ID:305:1:5:1:1'";
messageConsumer = session.createConsumer(getRetryQueue(), selector);
Run Code Online (Sandbox Code Playgroud)
上面的语法可以在模拟代理中进行测试。但是,对于ActiveMQ,不会轮询消息。
原始代码:
@Override
public Message readMessageFromRetryQueueByJmsId(String jmsId) throws QueueingException {
Connection connection = null;
Session session = null;
MessageConsumer messageConsumer = null;
Message message = null;
try {
connection = getConnectionFactory().createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
messageConsumer = session.createConsumer(getRetryQueue(), "JMSMessageID='"+jmsId+"'");
message = messageConsumer.receiveNoWait();
} catch (JMSException e) {
throw new QueueingException("Failed to read message from MessageConsumer.");
} finally {
try { messageConsumer.close(); } catch (Exception e) { /* NOP */ …Run Code Online (Sandbox Code Playgroud) 我正在关注Struts 2教程 - 使用Struts 2标签
到目前为止,所有内容都按预期工作,直到我将以下内容添加到index.jsp:
<s:url action="hello" var="helloLink">
<s:param name="userName">Bruce Phillips</s:param>
</s:url>
<p><a href="${helloLink}">Hello Bruce Phillips</a></p>
Run Code Online (Sandbox Code Playgroud)
预期的结果是锚链接(Hello Bruce Phillips)应该用hello.action的相应URL替换参数userName encoded,但不会发生替换,这就是元素呈现的方式:
<p>
<a href="${helloLink}">Hello Bruce Phillips</a>
</p>
Run Code Online (Sandbox Code Playgroud)
我的语法有什么问题吗?
环境:
java ×10
arrays ×1
casting ×1
certificate ×1
command-line ×1
crontab ×1
cxf ×1
database ×1
ejb ×1
https ×1
java-ee ×1
jboss ×1
jboss5.x ×1
jbossws ×1
jms ×1
jooq ×1
jsp ×1
keystore ×1
logging ×1
mamp ×1
methods ×1
mongodb ×1
morphia ×1
nosql ×1
php ×1
schedule ×1
ssl ×1
string ×1
struts ×1
struts2 ×1