小编Rad*_*ski的帖子

@Autowired - 没有为依赖项找到类型的限定bean

我通过使用Spring和Hibernate为服务创建实体,服务和JUnit测试来启动我的项目.所有这一切都很棒.然后我添加了spring-mvc来使用许多不同的分步教程来创建这个Web应用程序,但是当我尝试使用@Autowired注释创建Controller时,我在部署期间遇到来自Glassfish的错误.我想由于某些原因Spring没有看到我的服务,但经过多次尝试后我仍然无法处理它.

服务测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:/beans.xml"})
Run Code Online (Sandbox Code Playgroud)

@Autowired
MailManager mailManager;
Run Code Online (Sandbox Code Playgroud)

工作正常.

没有@Autowired的控制器,我可以毫无困难地在Web浏览器中打开我的项目.

/src/main/resources/beans.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
        http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd">

    <context:property-placeholder location="jdbc.properties" />

    <context:component-scan base-package="pl.com.radzikowski.webmail">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
    </context:component-scan>

    <!--<context:component-scan base-package="pl.com.radzikowski.webmail.service" />-->

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>

    <!-- Persistance Unit Manager for persistance options managing …
Run Code Online (Sandbox Code Playgroud)

java spring annotations spring-mvc autowired

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

具有多个入口点的 TypeScript 包

公开节点包模块的标准方法是将它们列在index.ts中,如下所示:

export * from './module1';
export * from './module2';
Run Code Online (Sandbox Code Playgroud)

但是,这会立即加载两个模块的内容。我想要一个未在 index.ts 文件中导出的模块,因为它需要安装一些可选的依赖项。

我遵循了本指南:https://blog.mozilla.org/data/2021/04/07/this-week-in-glean-publishing-glean-js/

我的package.json:

  "exports": {
    ".": {
      "import": "./dist/es/index.js",
      "require": "./dist/cjs/index.js"
    },
    "./module2": {
      "import": "./dist/es/module2.js",
      "require": "./dist/cjs/module2.js"
    }
  },
  "typesVersions": {
    "*": {
      ".": [
        "./dist/types/index.d.ts"
      ],
      "./module2": [
        "./dist/types/module2.d.ts"
      ]
    }
  },
// fallback for older Node versions:
  "module": "dist/es/index.js",
  "main": "dist/cjs/index.js",
  "types": "dist/types/index.d.ts",
Run Code Online (Sandbox Code Playgroud)

在我构建项目后(使用tsc,分别用于 CJS 和 ESM),输出目录结构如下所示:

- dist
  - cjs
    - index.js
    - module2.js
  - es
    - index.js
    - module2.js
  - types …
Run Code Online (Sandbox Code Playgroud)

commonjs node-modules typescript es6-modules

15
推荐指数
2
解决办法
7450
查看次数

检查c3p0池中的连接

我正在使用Java SE应用程序开发,使用Hibernate 4和c3p0与MariaDB数据库进行通信.它是长时间运行的应用程序,等待来自外部的信号,因此有时数据库会在8小时不活动后关闭我的连接.我试图配置c3p0连接验证,但它不起作用.你可以帮帮我吗?

错误日志(在命名查询执行期间抛出):

2014-10-27 08:10:19.062 ERROR [trans] com.example.runnable.T1 - Exception thrown during event processing, rollbacking transaction: org.hibernate.exception.JDBCConnectionException: could not extract ResultSet
        at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132)
        at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
        at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
        at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:91)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:2065)
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
        at org.hibernate.loader.Loader.doQuery(Loader.java:909)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
        at org.hibernate.loader.Loader.doList(Loader.java:2553)
        at org.hibernate.loader.Loader.doList(Loader.java:2539)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2369)
        at org.hibernate.loader.Loader.list(Loader.java:2364)
        at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496)
        at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
        at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:231)                                                                                                                                                    
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1264)                                                                                                                                                                    
        at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)                                                                                                                                                                         
        at com.example.runnable.T1.find(EventsTransmitter.java:140)                                                                                                                         
        at com.example.runnable.T1.run(EventsTransmitter.java:86)                                                                                                                                  
        at java.lang.Thread.run(Thread.java:745)                                                                                                                                                                                             
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 108,132,692 milliseconds …
Run Code Online (Sandbox Code Playgroud)

java hibernate c3p0 socketexception

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

手动生成学说slu ..

我在Symfony2项目中使用了可缓慢的行为,但现在我想基于不同的文本(当前标题,旧标题,来自表单输入的用户文本)为一页制作许多slug,并将其保存在另一个页面中表.我的问题是 - 如何手动使用任何文本的学说扩展?我找不到任何地方.完美将是这样的:

/* careful - it's not a real, working code! */
$sluggable = new DoctrineSluggable();
$slug = $sluggable->generate('My own text!');
echo $slug; // my-own-text
Run Code Online (Sandbox Code Playgroud)

slug symfony doctrine-orm stofdoctrineextensions

3
推荐指数
1
解决办法
6600
查看次数

远程Glassfish v4.1部署的TimeoutException

我在OVH上有VPS,让我们说它是vpsXXXX.ovh.net,使用Debian 7.我已经安装了Java 8,Glassfish 4.1并启用了安全管理:

asadmin
> change-admin-password --user admin
> start-domain
> enable-secure-admin # user: admin
> restart-domain
Run Code Online (Sandbox Code Playgroud)

我已经检查过vpsXXXX.ovh.net:8080和vpsXXXX.ovh.net:4848有效.当我通过scp上传我的战争时,通过SSH登录VPS并通过asadmin deploy JEE.war一切工作进行部署.

然后我取消部署它并尝试通过命令远程部署它:

asadmin --user admin --host vpsXXXX.ovh.net --port 4848 --secure deploy JEE.war
Run Code Online (Sandbox Code Playgroud)

我给了管理员密码,经过很长一段时间(30秒?),我得到了:

remote failure: Request failed.
Command deploy failed.
Run Code Online (Sandbox Code Playgroud)

我在VPS上的server.log:

[2014-11-03T21:50:14.489+0100] [glassfish 4.1] [INFO] [NCLS-REST-00003] [javax.enterprise.admin.rest] [tid: _ThreadID=46 _ThreadName=admin-listener(5)] [timeMillis: 1415047814489] [levelValue: 800] [[
  An error occurred while processing the request. Please see the server logs for details.
org.jvnet.mimepull.MIMEParsingException: java.io.IOException: java.util.concurrent.TimeoutException
        at org.jvnet.mimepull.MIMEParser.fillBuf(MIMEParser.java:442)
        at org.jvnet.mimepull.MIMEParser.skipPreamble(MIMEParser.java:307)
        at org.jvnet.mimepull.MIMEParser.access$300(MIMEParser.java:68) …
Run Code Online (Sandbox Code Playgroud)

deployment glassfish asadmin

2
推荐指数
1
解决办法
2993
查看次数

使用有状态EJB的部署项目期间的Glassfish异常

我知道Google上有很多类似的问题,但我从他们那里尝试了很多,没有任何帮助.我试图从Java EE 7 Tutorial 运行这个项目,并在部署期间遇到异常.然后我用Stateful Bean制作了一个简单的小项目,得到了同样的一个.

首先,这是战争项目.我的所有文件:

/pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>radzikowski</groupId>
    <artifactId>ejb</artifactId>
    <version>0.1</version>
    <packaging>war</packaging>

    <name>ejb</name>

    <properties>
        <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

/src/main/webapp/WEB-INF/web.xml(简单,默认web.xml)

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
</web-app>
Run Code Online (Sandbox Code Playgroud)

/src/main/java/radzikowski/ejb/FulBean.java

package radzikowski.ejb;

import javax.ejb.Stateful;

@Stateful
public class FulBean  {

}
Run Code Online (Sandbox Code Playgroud)

很简单吧?我正在使用Glassfish 4.0(build 89)(从存储库 - Linux安装)具有全默认配置和所有内容.我检查了pkg,我安装了glassfish-ejb包:

glassfish-ejb                                 4.0-89          installed  ----
glassfish-ejb-l10n                            4.0-89          known      ----
glassfish-ejb-lite                            4.0-89          installed …
Run Code Online (Sandbox Code Playgroud)

java ejb glassfish java-ee

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