我最近在github上提交了一个repo,现在当我想看到差异时,我得到的其中一个文件是:
1273 additions, 678 deletions not shown
这是什么原因?我怎么能看到差异?
我写了一个小的webservice,当我尝试将它部署到glassfish时,我收到此错误:部署期间发生错误:加载应用程序时出现异常:EJB容器初始化错误.有关更多详细信息,请参阅server.log.
@WebService(serviceName = "Mathematics")
public class Mathematics
{
@WebMethod(operationName = "add")
public double add(@WebParam(name = "a") double a,
@WebParam(name = "b") double b)
{
return NovusMath.add(a, b);
}
}
Run Code Online (Sandbox Code Playgroud)
server.log的相关部分:
[#|2012-02-04T21:25:45.437+0100|WARNING|glassfish3.1.1|
javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=39;
_ThreadName=Thread-2;|Illegal character in path at index 16:
file:/C:/Program Files/glassfish-3.1.1/glassfish/domains/domain1/applications/
Mathematics-web-1.0-SNAPSHOT/WEB-INF/lib/Mathematics-lib-1.0-SNAPSHOT.jar
java.net.URISyntaxException: Illegal character in path at index 16:
file:/C:/Program Files/glassfish-3.1.1/glassfish/domains/domain1/applications/
Mathematics-web-1.0-SNAPSHOT/WEB-INF/lib/Mathematics-lib-1.0-SNAPSHOT.jar
at java.net.URI$Parser.fail(URI.java:2827)
at java.net.URI$Parser.checkChars(URI.java:3000)
Run Code Online (Sandbox Code Playgroud)
...
[#|2012-02-04T21:25:45.906+0100|SEVERE|glassfish3.1.1|
javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|
_ThreadID=39;_ThreadName=Thread-2;|
Exception while loading the app : EJB Container initialization error
javax.xml.ws.WebServiceException: WS00056 : Deployment cannot …Run Code Online (Sandbox Code Playgroud) 我在理解HQL查询从哪里获取信息时遇到了一些麻烦.我的项目使用不同的线程,每个线程读/写数据库.线程不共享Session对象,而是使用HibernateUtil为我创建会话的类.
直到最近,我只会在写完后关闭一个会议,但不会在阅读后关闭.对数据的更改将立即在数据库中看到,但是当读取其他线程(与用于写入的对象不同的Session对象)时,我会得到陈旧的信息.读取和写入总是发生在不同的线程上,这意味着不同的Session对象和不同的会话缓存.
我一直认为通过使用HQL而不是Criteria,我会始终瞄准数据库(或二级缓存)而不是会话缓存,但在调试我的代码时,我清楚地知道HQL正在寻找会话缓存中的对象并检索一个旧的过时的对象.
假设HQL总是以数据库为目标,我错了吗?或者至少是二级缓存?
PS:我只使用一个SessionFactory物体.
我有一个问题,我没有找到答案.假设我们在java或c#中有以下代码:
class Car {
/* car stuff */
}
Run Code Online (Sandbox Code Playgroud)
然后在Java中
class Truck extends Car {
/* truck stuff */
}
Run Code Online (Sandbox Code Playgroud)
和C#
class Truck : Car {
/* truck stuff again */
}
Run Code Online (Sandbox Code Playgroud)
在C#中,以下工作正常:
List<Car> carList = new List<Car>();
//add some objects to the collection
foreach(Truck t in carList)
//do stuff with only the Truck objects in the carList collection
Run Code Online (Sandbox Code Playgroud)
这是因为卡车是汽车的子类,简单来说就意味着每辆卡车也是一辆汽车.但事情是,完成了类型检查,只从carList中选择了Trucks.
如果我们在Java中尝试相同的事情:
List<Car> carList = new ArrayList<Car>();
//add some objects to the collection
for(Truck t : carList)
//**PROBLEM**
Run Code Online (Sandbox Code Playgroud)
由于增强循环中的代码,代码甚至不会编译.相反,我们必须做这样的事情来获得相同的效果:
for(Car t …Run Code Online (Sandbox Code Playgroud) 我在maven项目中使用wsdl2java来生成一些工件.我没有从头开始,而是继承了我前任的工作.我有一个与我的pom文件中的标签相关的问题.
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.1.4</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdlLocation>http://localhost:8080/sunrise/sunrise?wsdl</wsdlLocation>
<wsdl>${basedir}/src/main/webapp/WEB-INF/wsdl/sunrise/sunrise.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我特别感兴趣的是内心<wsdlOptions>.<wsdlLocation>和之间有什么区别<wsdl>?哪一个用于生成工件?