小编Ant*_*rev的帖子

java.lang.IllegalStateException:没有可用的事务性EntityManager

项目使用Hibernate(JPA),Spring和Maven.我的实体和DAO在一个单独的JAR中.

pom.xml中:

<project ...>
    ...
    <artifactId>database</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>3.5.4-Final</version>
        </dependency>
    </dependencies>    
</project>
Run Code Online (Sandbox Code Playgroud)

DAO:

public class AbstractDAO<T extends BaseEntity> implements GenericDAO<T> {


    private final Class<T> persistentClass;

    private EntityManager entityManager;

    public AbstractDAO(Class<T> entityClass) {
        super();
        this.persistentClass = entityClass;
    }

    @PersistenceContext
    public void setEntityManager(EntityManager entityManager) {
        this.entityManager = entityManager;
    }


    public EntityManager getEntityManager() {
        return entityManager;
    }

    ...

    public void fooBar() {
       //Exception from this line
       Session session = getEntityManager().unwrap(Session.class);
       ...
    }

    ....
Run Code Online (Sandbox Code Playgroud)

}

我有一个使用Spring的模块.

pom.xml中:

<project ...>
...
<artifactId>api</artifactId>

<dependencies> …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa maven

18
推荐指数
3
解决办法
5万
查看次数

XSD和WSDL在不同的目录中

在我的工作中使用jaxws-maven-plugin进行代码生成.我有两个项目是"普通"和"客户".结构大致如下:

app/
  common/
    resource/
      some.xsd
  client/
    resource/
      some.wsdl
Run Code Online (Sandbox Code Playgroud)

如何使用项目"common"中的xsd在项目"client"中从wsdl生成类?

pom.xml中:

            <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <verbose>true</verbose>
                        <bindingFiles>
                            <bindingFile>${project.parent.basedir}/common/resource/some.xsd</bindingFile>
                        </bindingFiles>
                        <wsdlFiles>
                            <wsdlFile>/resource/some.wsdl</wsdlFile>
                        </wsdlFiles>
                    </configuration>
                </execution>
            </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

wsdl java-ws wsimport maven

7
推荐指数
1
解决办法
1万
查看次数

Grizzly - java.lang.NoSuchMethodError:javax.xml.ws.WebFault.messageName

我有一个Web服务的wsdl文件.我想测试客户端和服务器之间的交互.为此,我运行带有嵌入式灰熊的模拟服务器.

关于实现模拟服务器的问题.我使用wsimport和write实现从wsdl(和xsd)生成了一个接口.当在灰熊上运行时,我收到以下错误:

com.sun.xml.ws.server.ServerRtException: [failed to localize] cannot.load.wsdl(META-INF/wsdl/test.wsdl)
Run Code Online (Sandbox Code Playgroud)

我使用以下代码运行Web服务:

 HttpHandler httpHandler = new JaxwsHandler(new TestImpl());
 server.getServerConfiguration().addHttpHandler(httpHandler, "/test");
Run Code Online (Sandbox Code Playgroud)

问题是Grizzly无法找到wsdl和xsd文件.在嵌入式玻璃鱼中它的工作.

EDIT1

我将wsdlLocation更改为"test.wsdl"及其工作.但现在灰熊说:

java.lang.NoSuchMethodError: javax.xml.ws.WebFault.messageName()Ljava/lang/String;
Run Code Online (Sandbox Code Playgroud)

EDIT2

如果使用JDK1.7就可以了.但我需要JDK 1.6

java soap web-services grizzly

7
推荐指数
1
解决办法
1万
查看次数

Backbone.js解析未修改的响应

我有一个使用标题ETag的服务器.Backbone首次引用API:一切都很好,收到的响应和解析.第二次:骨干发送到服务器ETag,作为响应接收NotModified.而Backbone试图解析这个响应,导致一个名为reset的集合.

有什么方法可以重置收藏吗?

在fetch方法中添加要添加的选项的方法将不起作用.因为我需要完全刷新集合,如果我来到服务器的响应.

var recommendCollection = Backbone.Collection.extend({
    model : Event,
    etag : null,
    urlRoot : '/api/users',
    initialize: function() {
        this.etag = null;
    },
    parse: function(response) {
        return response.data;
    },      
    url : function () {
        return (this.urlRoot + "/"+window.me.get('id')+ "/recommendation");
    },
    beforeSend : function (jqXHR, settings) {
        jqXHR.setRequestHeader('if-none-match', this.etag);
    },
    complete : function (jqXHR, textStatus) {
        if (jqXHR.status == 200 || jqXHR.status == 304) {
            this.etag = jqXHR.getResponseHeader('ETag');
        }
    },
    update : function () {
        this.fetch({
            beforeSend : this.beforeSend.bind(this),
            complete : …
Run Code Online (Sandbox Code Playgroud)

javascript etag jquery caching backbone.js

5
推荐指数
1
解决办法
3470
查看次数

将 gradle 脚本的控制台输出记录到文件中

我想将我的 gradle 脚本中的所有控制台输出记录到日志文件中:

gradle test 2>&1 | tee -a gradle.log  
Run Code Online (Sandbox Code Playgroud)

但是我的 gradle 脚本提示来自用户的参数:

task test << {
        System.console().readLine("Enter:").toString()
}
Run Code Online (Sandbox Code Playgroud)

结果,我有一个 NullPointerException:

Execution failed for task ':test'. Cannot invoke method readLine() on null object
Run Code Online (Sandbox Code Playgroud)

可能有人知道这种情况的解决方案或解决方法吗?

unix gradle

5
推荐指数
1
解决办法
3218
查看次数

Mahout推荐器返回空结果

我有一个用户估计表.大约有1000个条目.从这些数据中,我想建立一个推荐,但返回一个空列表Mahout.可能是什么问题?

JDBCDataModel dataModel = new MySQLJDBCDataModel(source, "rate", "userId", "eventId", "rate", null);

    dataModel.refresh(null);

    try {
        UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel);
        userSimilarity.setPreferenceInferrer(new AveragingPreferenceInferrer(dataModel));

        UserNeighborhood neighborhood =
                  new NearestNUserNeighborhood(10, userSimilarity, dataModel);

        Recommender recommender =
                  new GenericUserBasedRecommender(dataModel, neighborhood, userSimilarity);
        Recommender cachingRecommender = new CachingRecommender(recommender);
        List<RecommendedItem> recommendations =
                    cachingRecommender.recommend(user.id, 10);


    } catch (TasteException e) {

        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

java mahout

0
推荐指数
1
解决办法
517
查看次数