我使用我的weblogic控制台创建了一个JNDI数据源,但是我无法从我的Web应用程序访问该对象.以下是详细信息
在weblogic 10.3.6中,我给出了datasource的JNDI名称: jdbc/mydb
要从我的Web应用程序获取数据库连接,我已在我的Web应用程序中编写了此代码:
Context initContext = new InitialContext();
DataSource ds = (DataSource)initContext.lookup("java:/comp/env/jdbc/mydb");
jndiConnection = ds.getConnection();
Run Code Online (Sandbox Code Playgroud)
之前我使用Tomcat作为服务器,当我在文件中配置资源详细信息时,我能够获得数据库连接tomcat/conf/server.xml,但是当我使用weblogic服务器时,我收到以下错误:
Cannot establish DB connection to JNDI:java:/comp/env/jdbc/mydb While trying to look up /comp/env/jdbc/mydb in /app/webapp/sample.war/1811641702. caused by: javax.naming.NameNotFoundException: While trying to look up /comp/env/jdbc/mydb in /app/webapp/sample.war/1811641702.; remaining name '/comp/env/jdbc/mydb'
Run Code Online (Sandbox Code Playgroud)
我已经尝试了此链接中提到的选项:如何在WebLogic上查找JNDI资源?但我仍然面临着问题.
请让我知道我在哪里做错了,访问JNDI对象的过程是什么.
我使用bash shell在我的Linux机器上为我的Oracle XE DB启动TNS Listener时遇到了问题:
LSNRCTL> start
Starting /oracle/product/11.2.0/xe/bin/tnslsnr: please wait...
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
LSNRCTL> exit
Run Code Online (Sandbox Code Playgroud)
我在互联网上尝试了很多不同的解决方案,最后在提到post- https: //dba.stackexchange.com/questions/23308/linux-error-29-illegal-seek-in-lsnrctl-for后问题得到解决-linux版本-11-2
我案例的解决方案是:
export LD_BIND_NOW=1
Run Code Online (Sandbox Code Playgroud)
我已经在多个Linux机器中安装了Oracle XE DB,但我只用了一个盒子就遇到了这个问题.这个变量是什么以及它如何解决非法寻求问题?
我的Linux机箱详细信息如下:
bash-4.1$ uname -a
Linux <hostname> 2.6.39-100.5.1.el6uek.x86_64 #1 SMP Tue Mar 6 20:26:00 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud) 我安装了Weblogic Server 10.3.6,并使用以下脚本启动我的服务器:
user_projects/domains/my_domain/bin/startWebLogic.sh
Run Code Online (Sandbox Code Playgroud)
我发现下面的命令在后台启动服务器:
nohup startWebLogic.sh &
Run Code Online (Sandbox Code Playgroud)
但是,当我使用此命令时,我得到此输出:
-bash-3.2$ nohup ./startWebLogic.sh &
[2] 25379
-bash-3.2$ nohup: appending output to `nohup.out'
Run Code Online (Sandbox Code Playgroud)
所以在这里我必须按Enter键退出并转到新行.现在我的要求是,当我运行命令时,服务器应该启动,我必须从这里走出一条新线,如:
-bash-3.2$ nohup ./startWebLogic.sh &
[2] 25379
-bash-3.2$ nohup: appending output to `nohup.out'
-bash-3.2$
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我.我正在使用bash shell.
我在weblogic服务器中创建了一个包含一些jar文件的共享库,现在我有一个EAR应用程序,我想在EAR应用程序中使用的Web应用程序中使用共享库中的类文件.所以我weblogic-application.xml在我的ear-app/META-INF/目录中创建了文件,并使用以下标记引用了共享库:
<library-ref>
<library-name>ebs_endeca_artifacts</library-name>
</library-ref>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问应用程序中的类文件时,我会遇到异常 java.lang.ClassNotFoundException
此外,我需要在耳朵级别引用共享库,而不是在weblogic.xml单个war文件的文件中声明.
如果我直接将相同的jar文件放在我的ear-app/APP-INF/lib目录中而不是使用共享库,那么我的应用程序工作正常,没有任何问题.
请帮助我如何在我的耳朵应用程序中使用共享库.我在用weblogic server 10.3.6
我的共享库结构如下:
shared-web-app/WEB-INF/web.xml
shared-web-app/WEB-INF/lib/*.jar
Run Code Online (Sandbox Code Playgroud) 我想使用一个脚本来检查是否存在目录列表,同时它应该打印一些我发送的自定义消息.
例如:
我有一个脚本验证目录是否存在:
**check.sh**
for i in $*
if [ -d "$i" ]; then
echo Found <msg-i> directory.
else
echo <msg-i> directory not found.
Run Code Online (Sandbox Code Playgroud)
现在我想这样调用这个脚本:
./check.sh $DIR1 msg1 $Dir2 msg2 $Dir3 msg3
Run Code Online (Sandbox Code Playgroud)
因此,如果DIR1不存在,那么我想将消息显示为"找不到msg1目录",类似于DIR2,我想显示"未找到msg2目录".这里msg1和msg2是我想要作为字符串传递的东西.怎么做到这一点?我正在使用bash shell.
我编写了一个简单的Java程序,如下所示:
public class Test {
public static void main(String[] args) {
int i1 =2;
int i2=5;
double d = 3 + i1/i2 +2;
System.out.println(d);
}
}
Run Code Online (Sandbox Code Playgroud)
由于变量d被声明为double我期待这个程序的结果是,5.4但我输出为5.0
请帮助我理解这一点.
我有一个'creation_date'类型的列'date',当我根据'creation_date'我得到6条记录查询我的表中的不同记录时:
select distinct creation_date from test_table;
Run Code Online (Sandbox Code Playgroud)
输出:
06-APR-11
06-APR-11
28-MAR-11
06-APR-11
06-APR-11
18-MAR-11
Run Code Online (Sandbox Code Playgroud)
在这个输出4月6日显示4次,即使我在查询中使用distinct.此外,当我试图找出所有与我匹配的记录时creation_date,6th April 2011我没有得到任何结果.以下是我的查询:
select * from test_table where creation_date = to_date('06-APR-11','DD-MON-YY');
Run Code Online (Sandbox Code Playgroud)
请帮助我在这两个查询中出错的地方.
我正在寻找一个命令,显示我之前使用的命令之前使用的参数类型.
例如,如果我想使用命令说tail,我可以看到我最近使用的类型的命令列表tail.我知道该命令history提供了最近使用的命令,但我正在查找特定命令的历史记录.我正在使用bash shell.
如果可以,那么我可以将结果限制为只看到2个输出,这意味着最近使用的2个tail命令?