当前位置: 首页 > 面试题库 >

Spring Autowiring停止在GAE上工作

陈成济
2023-03-14
问题内容

我确定我的应用程序一直运行到昨天,直到出现此错误:

Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@1079ff{/,/ base/data/home/apps/s~trewnewmedia/1.357617962256387950} org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘scadenziarioController’: Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void it.trew.prove.web.controllers.ScadenziarioController.setScadenzaService(it. trew.prove.services.ScadenzaService); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘scadenzaService’: Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void it.trew.prove.services.ScadenzaService.setSocietaService(it.trew.prove.serv ices.SocietaService); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘societaService’: Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void it.trew.prove.services.SocietaService.setSocietaDao(it.trew.prove.model.dao .Dao); nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dao’: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘mySessionFactory’: Post-processing of the FactoryBean’s object failed; nested exception is java.lang.SecurityException: Unable to get members for class org.hibernate.impl.SessionFactoryImpl

我将Hibernate与Google Cloud SQL一起使用,并且始终可以正常工作。

在我的本地计算机上,使用本地MySQL仍然可以使用!

我不认为这是Cloud SQL的问题,因为删除一些仍自动连接的自动装配(测试),依此类推。这是我的xml:

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="myDataSource" />
        <property name="annotatedClasses">
            <list>
                <value>it.trew.prove.model.beans.Scadenza</value>
                <value>it.trew.prove.model.beans.Fornitore</value>
                <value>it.trew.prove.model.beans.Societa</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">create</prop>
                <!-- <prop key="hibernate.hbm2ddl.import_files">/setup.sql</prop> -->
            </props>
        </property>
    </bean>

我的DAO的一部分:

@Component
public class Dao {

    @Resource(name = "mySessionFactory")
    private SessionFactory sessionFactory;
...

而我的服务:

@Service
@Transactional
public class SocietaService {

    private Dao societaDao;

    @Autowired
    public void setSocietaDao(Dao societaDao) {
        this.societaDao = societaDao;
    }
...

我找不到GAE和本地(mvn gae:run)之间的区别。以及为什么上周效果理想。

请GAE团队支持我! 我在这个问题上疯了

(我可能会开始赏金,太紧急了)

编辑 我的pom.xmlhibernate部分:

<!-- Hibernate framework -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.3.2.GA</version>
        <type>pom</type>
        <!--hibernate-dependencies is a pom, not needed for hibernate-core-->
      </dependency>
      <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.4.0.GA</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.12.1.GA</version>
    </dependency>

问题答案:

问题是@Service类上的@Transactional批注。它在某些我不知道的地方使用了javax.naming.NamingException,这不是一个列入白名单的类。



 类似资料:
  • 问题内容: 突然,API资源管理器(localhost:8080 / _ah / api / explorer)停止工作。这是“ goapp服务”给出的消息: 我的应用程序(localhost:8080)也不起作用,同样的问题。 问题答案: 我在响应服务时传递了一张地图,但它不是那样。仅允许使用切片和结构。

  • 下面是我的ServerEndPoint类: 和我的javascript代码:

  • 我在IE上的css悬停有问题。 简化;我基本上有一个容器div,它将在悬停时显示一个小的div,里面有一些标记中选择一个,:hover由于某种原因将不再工作,div将消失。 在chrome/firefox等中尝试此示例以查看所需的结果&然后在IE11中再试一次以查看问题所在。 null null

  • 我们在本地安装了一台新的TFS 2017服务器。我的系统管理员设置了https并生成了自签名证书。使用VisualStudio内置的git工具,一切都可以正常工作。当我尝试从CLI执行任何操作时,会出现以下错误: 我所尝试的: > 经过一些故障排除后,我将本地证书导出为Base-64编码的x.509(.CER)文件,并将其附加到 仔细检查我的git配置以确保http。sslcainfo指向正确的c

  • null GrantPermissionRule是否停止了为其他人所宣传的工作?

  • 问题内容: 我有这个jQuery ajax调用: 我想在条件返回的情况下停止调用,但返回不会停止调用。 我如何stop在Ajax上调用beforeSend? =======更新========= return false 也可以。 问题答案: $.ajax({ url : ‘my_action’, dataType: ‘script’, beforeSend : function(xhr, opt