我通过使用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) 公开节点包模块的标准方法是将它们列在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) 我正在使用Java SE应用程序开发,使用Hibernate 4和c3p0与MariaDB数据库进行通信.它是长时间运行的应用程序,等待来自外部的信号,因此有时数据库会在8小时不活动后关闭我的连接.我试图配置c3p0连接验证,但它不起作用.你可以帮帮我吗?
错误日志(在命名查询执行期间抛出):
Run Code Online (Sandbox Code Playgroud)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 …
我在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) 我在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) 我知道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 ×3
glassfish ×2
annotations ×1
asadmin ×1
autowired ×1
c3p0 ×1
commonjs ×1
deployment ×1
doctrine-orm ×1
ejb ×1
es6-modules ×1
hibernate ×1
java-ee ×1
node-modules ×1
slug ×1
spring ×1
spring-mvc ×1
symfony ×1
typescript ×1