通过声明以下依赖项:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我可以使用Java EE 6项目所需的一切(Servlet 3.0,JPA 2,EJB,CDI等).问题是:Maven无法为依赖项下载Javadoc(或者至少m2eclipse"下载JavaDoc"功能不起作用),因此当我使用非常方便的代码完成功能时,Eclipse不会向我显示Javadoc.
我发现这篇文章特定于Servlet 3.0 API,Maven依赖Servlet 3.0 API?.
任何人都可以指出适用于每个API的解决方案吗?或者,任何人都可以提供一个虚拟指南来安装Java EE 6 Javadoc并将其链接到本地存储库中的javaee-web-api工件吗?
JBoss 6.0 Final附带了JBoss WS(默认情况下为Apache CXF堆栈),我知道我可以用JBossWS下载站点中相应的JBoss WS Native或Metro版本替换默认实现.
问题是,我有一个客户端jar库(不幸的是二进制文件),它使用了一些专有的SOAP Web服务.当我使用部署到JBoss的Web应用程序中的客户端API时,我遇到了大量间歇性SOAP故障(使用Apache CXF和JBoss Native堆栈进行测试).
由于从独立的jar文件(没有第三方JAX-WS实现)运行时,相同的Web服务似乎工作正常,所以我考虑禁用JBoss WS堆栈,转而使用Java SE提供的本机JAX-WS RI堆栈6.
我知道JBoss Metro WS堆栈应该与Java SE 6附带的内容足够接近,但如果我能使用本机Java SE版本,我将非常感激.
那么,这可行吗?有人指出了方向吗?
该的javadoc并不清楚这一点:是不可修改的集合线程安全的?或者我应该担心内部状态并发问题?
Set<String> originalSet = new HashSet<>();
originalSet.add("Will");
originalSet.add("this");
originalSet.add("be");
originalSet.add("thread");
originalSet.add("safe?");
final Set<String> unmodifiableSet = Collections.unmodifiableSet(originalSet);
originalSet = null; // no other references to the originalSet
// Can unmodifiableSet be shared among several threads?
Run Code Online (Sandbox Code Playgroud)
我偶然发现了一段代码,其中一个静态的,只读的Set是针对多个线程共享的......原作者写了这样的东西:
mySet = Collections.synchronizedSet(Collections.unmodifiableSet(originalSet));
Run Code Online (Sandbox Code Playgroud)
然后每个线程使用以下代码访问它:
synchronized (mySet) {
// Iterate and read operations
}
Run Code Online (Sandbox Code Playgroud)
通过这种逻辑只有一个线程可以同时对设置进行操作.所以我的问题是,对于一个不可改变的集合,使用诸如操作时,每个,contains,size,等等,我真的需要同步访问?
作为"javaland"程序员,我习惯于工厂方法和多个构造函数.我对工厂模式的主要用途是将决策延迟到运行时,在实例化期间执行某种副作用或限制或隐藏具体类型.当我深入研究C#时,我看到越来越多的API混合了多个构造函数和静态Create方法.
例如,XmlReader和XmlTextReader.XmlWriter和XmlTextWriter.
我的问题是:
Create方法有什么特别的东西,或者它只是一个约定(比如java :) getInstance?Create方法接受XmlWriterSettings参数XmlWriter而没有构造函数XmlTextWriter具有相同的目的?而另一方面,为什么只有构造函数接受Encoding参数呢?我有一个响应Twilio API的Java Servlet.似乎Twilio不支持我的回复使用的分块转移.我该如何避免使用Transfer-Encoding: chunked?
这是我的代码:
// response is HttpServletResponse
// xml is a String with XML in it
response.getWriter().write(xml);
response.getWriter().flush();
Run Code Online (Sandbox Code Playgroud)
我使用Jetty作为Servlet容器.
当数据库中生成实体的某些非关键字段时(例如,通过触发器),调用persist将不会带回数据库刚刚生成的值。实际上,这意味着您可能需要或refresh之后的实体(当启用 2 级缓存时,您甚至可能需要该实体)。persistmergeevict
@GeneratedHibernate 有一个处理生成属性的自定义注释。
// Refresh property 1 on insert and update
@Generated(GenerationTime.ALWAYS)
@Column(insertable = false, updatable = false)
private String property1;
// Refresh property 2 on insert
@Generated(GenerationTime.INSERT)
@Column(insertable = false)
private String property2;
Run Code Online (Sandbox Code Playgroud)
JPA@GeneratedValue仅适用于主键属性。
@Generated所以,我的问题是JPA API是否有替代品(也许是 2.1)?如果没有,处理非关键数据库生成字段的最佳实践是什么?
最近我遇到了这样的代码:
var myVariable: variableKind = _
Run Code Online (Sandbox Code Playgroud)
这似乎是一种分配null方式myVariable.
_在这种情况下,任何人都可以解释背后的理由吗?分配_和null变量之间有什么区别?
假设一个类MyClass:
public class MyClass {
private final Integer myId;
private final String myCSVListOfThings;
public MyClass(Integer myId, String myCSVListOfThings) {
this.myId = myId;
this.myCSVListOfThings = myCSVListOfThings;
}
// Getters, Setters, etc
}
Run Code Online (Sandbox Code Playgroud)
这个流:
final Stream<MyClass> streamOfObjects = Stream.of(
new MyClass(1, "thing1;thing2;thing3"),
new MyClass(2, "thing2;thing3;thing4"),
new MyClass(3, "thingX;thingY;thingZ"));
Run Code Online (Sandbox Code Playgroud)
我想要返回每个实例MyClass包含一个条目"thing2"在myCSVListOfThings.
如果我想要List<String>包含myCSVListOfThings这个可以轻松完成:
List<String> filteredThings = streamOfObjects
.flatMap(o -> Arrays.stream(o.getMyCSVListOfThings().split(";")))
.filter("thing2"::equals)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但我真正需要的是一个List<MyClass>.
这就是我现在所拥有的:
List<MyClass> filteredClasses = streamOfObjects.filter(o -> {
Stream<String> …Run Code Online (Sandbox Code Playgroud) 在一个在线课程中,它表明foldLeft并且foldRight对于具有关联性和可交换性的运算符是等效的.
其中一名学生坚持认为这些操作员只需要联想.因此,对于函数组合和矩阵乘法等操作,此属性应该为true.
据我所知,不可交换的关联操作不会产生等效的结果foldLeft,foldRight除非z是中性的,并且操作以这样的方式累积,即操作数的顺序保持不变.在一般情况下,IMO的操作必须是可交换的.
list.foldLeft(z)(operation) == list.foldRight(z)(operation)
Run Code Online (Sandbox Code Playgroud)
因此,为了foldLeft和foldRight等同应该operation是同时联想和可交换的,还是足以operation成为联想的?
我正在尝试按照这种方法为嵌入式glassfish创建数据源.教程和我的代码之间唯一的重要区别是我使用官方maven插件和embedded-glassfish:run目标运行服务器.
pom文件中的JDBC驱动程序存在依赖关系:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.155</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
和我的 glassfish-resources.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool-name="connectionPool">
<description/>
</jdbc-resource>
<jdbc-connection-pool datasource-classname="org.h2.jdbcx.JdbcDataSource" name="connectionPool" res-type="javax.sql.DataSource">
<property name="URL" value="jdbc:h2:~/Documents/Projetos/DBs/h2/glassfish/glassfish;AUTO_SERVER=TRUE;MVCC=TRUE"/>
<property name="User" value="sa"/>
<property name="Password" value=""/>
<property name="driverClass" value="org.h2.Driver"/>
</jdbc-connection-pool>
</resources>
Run Code Online (Sandbox Code Playgroud)
使用本地glassfish服务器运行良好.但嵌入式实例并不幸运:
03/06/2011 19:26:31 com.sun.enterprise.v3.server.ApplicationLifecycle deploy GRAVE:无效资源:jdbc/myDatasource_ pm java.lang.RuntimeException:无效资源: com.sun.enterprise中的jdbc/myDatasource _pm位于org.glassfish.persistence.common.PersistenceHelper.lookupPMResource(PersistenceHelper.java:63)的com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:468)中的.connectors.ConnectorRuntime.lookupDataSourceInDAS(ConnectorRuntime.java:539) )org.glassfish.persistence.jpa.ProviderContainerContractInfoBase.lookupDataSource(ProviderContainerContractInfoBase.java:71)at
我很无能......任何人都可以对此有所了解吗?
java ×5
scala ×2
c# ×1
classloader ×1
collections ×1
dependencies ×1
equivalent ×1
fold ×1
glassfish-3 ×1
java-8 ×1
java-ee ×1
java-ee-6 ×1
java-stream ×1
javadoc ×1
jax-ws ×1
jboss6.x ×1
jbossws ×1
jetty ×1
jpa ×1
maven ×1
maven-plugin ×1
oop ×1
servlets ×1