小编Ran*_*num的帖子

未设置将MySQL数据库连接到Glassfish类路径或类名错误

我正在换掉一个用于MySQL的德比数据库.我以前一切都工作但是在我认为正确的配置之后我得到了错误:

引起:javax.resource.ResourceException:类名错误或类路径未设置为:com.mysql.jdbc.jdbc2.optional.MysqlDataSource

控制台的完整错误输出:

Caused by: javax.resource.ResourceException: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
at com.sun.gjc.common.DataSourceObjectBuilder.getDataSourceObject(DataSourceObjectBuilder.java:292)
at com.sun.gjc.common.DataSourceObjectBuilder.constructDataSourceObject(DataSourceObjectBuilder.java:114)
at com.sun.gjc.spi.ManagedConnectionFactory.getDataSource(ManagedConnectionFactory.java:1292)
at com.sun.gjc.spi.DSManagedConnectionFactory.getDataSource(DSManagedConnectionFactory.java:148)
at com.sun.gjc.spi.DSManagedConnectionFactory.createManagedConnection(DSManagedConnectionFactory.java:101)
at com.sun.enterprise.resource.allocator.LocalTxConnectorAllocator.createResource(LocalTxConnectorAllocator.java:87)
Run Code Online (Sandbox Code Playgroud)

我已经仔细检查了一些名称,连接池和其他资源.我还在两个项目中将MySQL驱动程序.jars添加到glassfish库中.数据库肯定通过eclipse正常工作,因为我能够查看表并在eclipse的数据库上下文中显示资源.所以我知道至少那些司机正在正确地工作.persistence.xml文件看起来也不错.它引用了jdbc/mydatabase jndi引用,并且默认选择JTA作为manament类型.

有人有另一个建议吗?谢谢

mysql eclipse glassfish java-ee

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

在eclipse中设置类路径和java构建路径有什么区别?

Java程序访问外部库的不同方式有哪些.有设置类路径,修改构建或构建路径,但我已经看到了添加jar的其他方法.

为什么有些库必须添加到类路径中,而其他库则不需要.例如,我正在使用JSF,WTP工具和其他额外的库,但是当我查看项目的构建路径时,它们不在我的构建路径中.

java eclipse java-ee

7
推荐指数
2
解决办法
4296
查看次数

如何重新配置​​eclipse以使用64位JVM

我正在使用eclipse,我认为这些都是64位运行时环境.当前设置Java>已安装的JRE和执行环境都指向jdk1.6.0_30,这是JDK的64位版本.但是,eclipse仍然认为它运行的是32位版本,因为当我运行时:

System.getProperty( "sun.arch.data.model");

它返回32而不是64.

我为64位计算机编译的外部JNI资源不会链接到共享的.so文件,除非它在64位环境中运行.(当我尝试这样做时,我的字大小不匹配错误)

那么如何重新配置​​eclipse以运行64位jvm.eclipse本身必须是64位版本吗?

:在linux上

编辑:我已经尝试了每个人的建议,但没有任何工作.我已经将执行和环境变量更改为指向我最新的JDK,即1.6_30.当我从命令行运行程序时,我得到64和amd64作为值,当我在eclise中运行相同的程序时,我得到32和i386.eclipse中出现问题导致它尝试在32位JVM上运行它.当我尝试java -d32 -version时,它说没有安装32位环境,但Eclipse不知道.我已经修改了Eclipse.ini文件但仍然无法正常工作.在这些变化之后我重新启动了eclipse ......没有.一个知道日食的人可以帮助我.谢谢

java eclipse java-native-interface

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

使用EJB计时器服务

我有一小部分代码,我正试图用计时器服务执行.

我在网上找到一个好的例子或教程时遇到了麻烦.Oracle的教程对我来说有点太过分了,无法掌握我需要的基本实用程序.我只是希望它在程序启动时立即执行,然后每小时执行一次.

样品计时器看起来像什么?

ejb java-ee

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

Git命令查找哪些分支合并到当前分支以及何时合并

我有几个功能分支正在自动合并到集成分支.我想知道是否以及何时发生这种情况.

我可以键入git log 哪些会告诉我合并已经发生但是由于某种原因它没有告诉我它从哪个功能分支只是说"merged integration_branch into integration_branch"

我可以打字 git branch --merged

但这只列出了正在合并到集成分支的功能分支.我想知道何时和由谁,并能够深入了解这个合并信息.

git merge git-merge

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

Java EE/JPA将新表/实体添加到数据库的方法

我有一个mysql数据库,我想添加一个新表添加到数据库的功能.我可能很容易找到JPQL的例子,但是我如何自动生成这个新表的实体,以便我可以在我的JPA代码的其余部分引用它来更新和从表中删除我通常引用实体不是实际的表本身.

我现在拥有的实体我已经使用eclipe从我创建的表中生成.但是在部署之后我们显然不会让Eclipse这样做所以我们需要在每次创建表时自动完成它.

mysql jpa jpql java-ee

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

通过代理连接到Java中的URL

我正在尝试编写一个小的Java程序,使用URL连接库连接到Twitter搜索URL(返回推文的JSON列表)。

我从Java教程中获取的代码如下:

        public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://search.twitter.com/search.json?q=hi");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                yc.getInputStream()));
        String inputLine;

        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
Run Code Online (Sandbox Code Playgroud)

但由于某些原因,我不断收到以下异常:

in thread "main" java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
Run Code Online (Sandbox Code Playgroud)

我不知道这是由于我编写代码的方式,eclipse设置还是与我的网络有关。我确实配置了用于Internet访问的代理服务器。据我所知,这是正确配置的,因为我正在获取更新,并且可以通过Eclipse安装新软件。我是否需要以某种方式将代理信息放入URL方法中还是其他问题。

java

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

在Glassfish Java EE应用程序上部署时,何处放置共享库.so用于JNI本机调用

我有一个运行Java EE 6的Glassfish 3.1.1 Web应用程序.我的一个类具有本机库依赖项.我正在使用JNI来使用这种原生方法.该过程的一部分涉及创建共享库.so文件.在我的一个Java类中,将有一个System.Loadlibrary("library"); 调用引用该library.so文件.

我的问题是,我应该在哪里放置此共享库以及它引用的本机代码,以便在Glassfish上访问和使用此JNI功能.

我需要调用几个C++程序,这些程序可以在Glassfish托管的机器上的任何位置移动.我应该把它们放在domain1/ext文件夹中吗?将它们作为本机库添加到构建路径中的jar.这是怎么做到的?

java java-native-interface native-methods glassfish java-ee

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

JPQL,删除时间戳超过1天的值

我正在尝试编写一个JPQL语句,删除时间戳大于1天的表中的所有值.现在我有一个工作语句,删除所有早于当前时间的值,但我需要修改它,以便删除超过1天的值.

如何修改此声明:

Query q = em.createQuery("DELETE FROM Statustable t WHERE t.ts < CURRENT_TIMESTAMP");
Run Code Online (Sandbox Code Playgroud)

我一直在尝试搜索JPA API以了解如何操作Current_TIMESTAMP值,以便我可以执行类似"(CURRENT_TIMESTAMP -1)"的操作来指示"超过1天".我知道语法是错误的,但它应该可以帮助你看到我正在尝试做什么.

jpql

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

在Java EE中与EJB交互的最佳方式

我有一个中等规模的Java EE 6项目,它使用多个EJB,其中一个目的是通过JPA管理数据库调用.我的问题是添加一个新类的最佳方法是什么,该类执行一些随机功能,然后调用数据库访问EJB来保存此类中的数据.

如果需要访问注释和注入,这个新类必须是EJB吗?如果必须与项目的其余部分一起部署,它是否必须是EJB?

有人告诉我,如果你想为项目添加一个新的逻辑类,它必须是一个EJB,或者你可以使用JNDI远程集成它来访问EJB元素并创建某种客户端接口.现在我的新类只是一个POJO,但它无法访问EJB功能.

一般我该怎么办?

编辑:请注意我的问题不是数据库访问.这只是我正在使用的一个例子.我的猜测更广泛.我想知道如何从我创建的其他类访问EJB方法.从一个EJB到另一个EJB,您可以简单地注入另一个EJB,因为它们都是容器管理的.但是说我在与EJB相同的包中创建另一个类如何才能访问这些方法?可能吗?这里的最佳做法是什么?

现在我有一个类从URL获取twitter feed数据,然后解析JSON并返回前10个条目的字符串.我想调用管理数据库访问的EJB并将该字符串传递给相应的方法,但我不能这样做,因为我的类不是EJB.

java ejb java-ee

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

告诉浏览器应该将Servlets xml输出视为RSS

我的页面上有一个RSS链接,实际上是对输出xml的servlet的引用,应该将其视为RSS.发生的事情是它加载了servlet,它只是在浏览器中显示XML.通常这是因为你将你的RSS文件链接为"whatever.rss",但在这种情况下,它是一个服务它的servlet.我如何告诉浏览器它应该被视为.rss?servlet可以加载带扩展名的页面吗?或者是否有contentType("rss/xml; charset = UTF-8"); 类似的类型标记,可以直接在servlet中设置?

谢谢,

java rss servlets

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

将EJB与常规java类一起使用.尝试实例化无状态EJB

到目前为止,我在Java EE 6中有一个大型Web项目,一切都很顺利.

现在我正在添加一个新类,它接收twitter信息并返回一个字符串.到目前为止,字符串已经从twitter的JSON文件中提取出来,并且可以保存在我的数据库中.我的问题是我不确定如何从通常处理我的所有数据库调用的EJB传递信息.我正在使用JPA并且有一个DAO类来管理所有数据库访问.我已经有了一个方法updateDatabase(String).我希望能够updateDatabase(String)从具有要添加的字符串的类中调用,但我不知道实例化像这样的无状态bean是否是好的形式.通常,您注入bean,然后只调用它们的类名来访问它们的方法.我也许可以尝试从EJB内部引用twitter字符串生成类,但之后我必须在那里实例化它并乱用main()方法调用来执行.我真的不确定怎么做.现在我的Twitter消费类只是一个主要方法的POJO.出于某种原因,某些库方法在主要面向IOUtils()API之外不起作用直接说"实例不应该在标准编程中构造".

所以在更高层次的底线上,我只是问POJO通常如何"混合"到Java EE项目中,其中大多数类都是EJB和servlet.

编辑:上面的内容在重读后似乎让我感到困惑所以我会尝试简化它.基本上我有一个主要方法的类.我想调用我的EJB类来处理数据库访问并调用它的updateDatabase(String)方法并传入字符串.我该怎么做?

编辑:所以看起来像JNDI查找和子序列引用是首选方法,而不是直接实例化EJB?

编辑:这些类都在同一个Web项目中.在同一个包中.我可以注入一个或将POJO转换为EJB.然而,POJO确实有一个main方法,并且一些库文件不喜欢被实例化,因此在main中运行它似乎是最好的选择.

我的主要代码:

public class Driver {

    @EJB
    static RSSbean rssbean;   

    public static void main(String[] args) throws Exception {

        System.setProperty("http.proxyHost", "proxya..com");
        System.setProperty("http.proxyPort", "8080");
        /////////////auth code///////////////auth code/////////////////
        String username = System.getProperty("proxy.authentication.username");
        String password = System.getProperty("proxy.authentication.password");
        if (username == null) {
            Authenticator.setDefault(new ProxyAuthenticator("", ""));
        }
        ///////////////end auth code/////////////////////////////////end

        URL twitterSource = new URL("http://search.twitter.com/search.json?q=google");
        ByteArrayOutputStream urlOutputStream = new ByteArrayOutputStream();

        IOUtils.copy(twitterSource.openStream(), urlOutputStream);
        String urlContents = urlOutputStream.toString();
        JSONObject thisobject = new JSONObject(urlContents); …
Run Code Online (Sandbox Code Playgroud)

java eclipse ejb jpa java-ee

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