In the BEA WLS console, it's possible to define "T3 File Service". After googling about it, I was unable any practical info. Is it something useful ?
EDIT:
Deprecated since 6.1 ... a complete overview here , it's sad that no real alternative is provided.
The WebLogic file T3 service lets you provide high-speed, client-side access to native operating system files on the server.
Some people used it (with weblogic 6.1) to upload file attachments to an application in a cluster (in a C/S context I guess). Whether this was actually a good use case is another story.
Anyhow, the File Service has been deprecated in Weblogic 7.0, it just hasn't been removed for now (see the FileT3 in Weblogic 8.1 documentation or File T3 in Weblogic 10.0 documentation). If you need to write to the server file system, you'd better find another solution.
The T3 protocol is (was) a proprietary network protocol for Java object serialization and RMI (before there even was an official RMI). It was used to communicate within a cluster of WebLogic servers (and between servers and clients).
It is deprecated now, so unless you know what you need it for, you probably do not need it.
Related
Background Context:
Due to enterprise limitations, an uncooperative 3rd party vendor, and a lack of internal tools, this approach has been deemed most desirable. I am fully aware that there are easier ways to do this, but that decision is a couple of pay grades away from my hands, and I'm not about to fund new development efforts out of my own pocket.
Problem:
We need to send an internal file to an external vendor. The team responsible for these types of files only transfers with SFTP, while our vendor only accepts files via REST API calls. The idea we came up with (considering the above constraints) was to use our OpenShift environment to host a "middle-man" SFTP server (running from a jar file) that will hit the vendor's API after our team sends it the file.
I have learned that if we want to get SFTP to work with OpenShift we need to set up of our cluster and pods with an ingress/external IP. This looks promising, but due to enterprise bureaucracy, I'm waiting for the OpenShift admins to make the required changes before I can see if this works, and I'm running out of time.
Questions:
Is this approach even possible with the technologies involved? Am I on the right track?
Are there other configuration options I should be using instead of what I explained above?
Are there any clever ways in which an SFTP client can send a file via HTTP request? So instead of running an embedded SFTP server, we could just set up a web service instead (this is what our infrastructure supports and prefers).
References:
https://docs.openshift.com/container-platform/4.5/networking/configuring_ingress_cluster_traffic/configuring-externalip.html
https://docs.openshift.com/container-platform/4.5/networking/configuring_ingress_cluster_traffic/configuring-ingress-cluster-traffic-service-external-ip.html#configuring-ingress-cluster-traffic-service-external-ip
That's totally possible, I have done it in the past as well with OpenShift 3.10. The approach to use externalIPs is the right way.
I have Java application running on JBoss AS7 standalone. The application needs to monitor an FTP folder and pick up new files.
I'm aware of using commons-net FTPClient to connect to an FTP server, but I'm curious, is there a way to do this in the 'Enterprise Java' world? For instance, configuring an FTP server as a 'datasource' in JBoss, in a similar way to databases?
From googling, I've found things such as JBoss ESB that can be used with JBoss AS, and for which you can configure an 'FTP listener' to monitor for files - is this the way forward? (don't currently have JBoss ESB installed)
I've also come across the notion of using JCA, such as 'Oracle jca adapter for files/ftp', which mentions being compatible with JBoss, but there seems to be little info online about it. another is 'jca-for-ssh' but appears to only support outbound connections.
Am I going about this right way/googling for the right thing? Any pointers in the right direction are much appreciated. thanks
There are two ways to do it.
One would use the Java 7 FileWatcher. This would be an efficient, event-based solution.
Another would have a Timer task that would wake up periodically, check the directory for files, process them, and then go back to sleep.
JBoss would not be my first thought, but it's possible to incorporate either one into an object of some kind and deploy on JBoss.
Hi I am trying to use infinispan as a remote caching solution and when following through the guide i see the following:
> This server provides easy to use RESTful HTTP access to the Infinispan
> data grid, build on JAX_RS. This application is delivered (currently)
> as a WAR file, which you can deploy to a servlet container (as many
> instances as you need).
I could not find the WAR in the 5.3.0.Final.
But i see that Infispan Server installation can serve as a Remote Data Grid, so is the REST interface included in the server installation with the latest release?
If yes
What server is it running on ?
Do we need licence to run the Server on enterprise level?
What is the good way to deploy it in any other Application Server?
Any help will be highly appreciated?
But i see that Infinispan Server installation can serve as a Remote Data Grid, so is the REST interface included in the server installation with the latest release?
We will be talking about this: https://github.com/infinispan/infinispan-server Answer is, I'd say, yes. When you will use Infinispan Server, you will have possibility of accessing Infinispan cache via REST endpoint. (see readme + see endpoint subsystem in, for example, standalone.xml configuration file) After start of this standalone server you can connect to http://127.0.0.1:8080/ (REST server) and start using it according to the rules described in the documentation.
What server is it running on ?
The whole Infinispan server is very based on JBoss AS. Imagine "big" JBoss AS minus all unnecessary systems, subsystems and functionality. This "little boy" is Infinispan Server which, for example, doesn't support deploying applications etc.
Do we need licence to run the Server on enterprise level?
No. This is open source project. If you still looking for "officially" supported version, I'd suggest you to check Red Hat's JBoss Data Grid solution, which is productized and supported Infinispan + Infinispan Server. See http://www.redhat.com/products/jbossenterprisemiddleware/data-grid/
What is the good way to deploy it in any other Application Server?
There is no such a way. As I mentioner earlier, Infinispan Server itself is standalone server which already contains everything you need for caching and running cluster of virtually 128 (or even more) nodes.
Any help will be highly appreciated?
Maybe. I can't answer this question properly :(
I'm studying webservices in differents languages and now, I'm stuck on Netbeans one.
I easily create a "RESTful web service with Database" on localhost.
So, I use a MySQL (Connector/J driver) connection with GlassFish server.
My question is : what's the difference between an Apache server and a GlassFish one ?
Indeed, I aim to deploy this webservice on Apache server but I have no idea to do it.
Is someone have tips or ways to help me ?
Thanks a lot !
I'm assuming you followed this tutorial.
If you mean good old trusty Apache httpd, you won't be able to deploy the project you created to that server, what you create is a Java Enterprise application (and more specifically a WAR, a Webapplication ARchive), and you will need a server capable of deploying that type of applications - like of course Glassfish, but also Apache Tomcat, jetty or any of the Java Enterprise Edition servers
Still assuming that you're talking about Apache httpd, that one and Glassfish are entirely different beasts that serve different purposes, Glassfish is indeed capable of serving up content over http but it contains much more functionality than that, see the above Wikipedia link on Java EE for more links and pointers.
EDIT: you cannot run a servlet container like Tomcat or a Java EE server like GlassFish "inside" an Apache server like you would run php "inside" Apache with mod_php, but it's quite easy to run them alongside each other, where the Apache httpd server is the one that faces outward and basically forwards calls to the backend Java server. There are several techniques to achieve this result, the most popular is probably using mod_jk as explained here for Tomcat and here for Glassfish. Alternatively you could setup mod_proxy, a comparison of these two scenarios here on SO.
Anyways, it's not always necessary to front a Tomcat or Glassfish with an Apache but it may be needed e.g. if the website is serving hybrid content partially written in php or another apache-hosted scripting language or useful to avoid using the servlet container to serve up massive quantities of static content, often not their strongest point. For many applications it's perfectly OK to have a Tomcat or a Glassfish serve up all content avoiding the extra complications introduced by mod_proxy or mod_jk and the dual management of both servers.
open server.xml file in conf folder of apache tomcat. And check for line
Here you can see port =5051 means apache tomcat is configured in port 5051
Open we browser and type http://localhost:5051
Then click "Tomcat manager"
Enter your usename and password
In the next screen you can see section "WAR file to deploy". Select your web service war file and click deploy
I got a question about usage of JMS(Java Message Queue). Somewhere in documentation I have seen that everything I need to use JMS is jms.jar on the machine where the client is going to run. But I still not sure if I need glassfish or JBoss also installed on machine.. Anyone can me tell if it's really only jms.jar is needed or I need something more installed on machine?
Thanks,
Serhiy.
You need jms.jar to access JMS topics and queues. But in order to have a working JMS setup you need a JMS provider. Applications servers have JMS providers bundled. There are stand-alone JMS providers, like Apache ActiveMQ or HornetQ:
you need the jms provider jar(s) on your classpath, so that its concrete classes get instantiated (The JMS API only defines the contract)
you need the jms provider running and handling incoming and outgoing messages.
Well, actually JMS is just an standard API for messaging. You'll have to use an existing implementation as well as a provider in order to use it.
If you're using JBOSS take a look at HornetQ
There's a tutorial on developerWorks which you may be interested in that describes how to run a JMS program outside of a Java EE environment using WebSphere MQ.
The question of whether you need something other than the JMS jar file is another matter. The best answer is to always use the install media supplied by the vendor. I don't know about JBoss but with IBM's implementation that install media includes diagnostic utilities and if you just grab the jar files it may not be supported. Other vendors may also have support issues if you just grab the jar files but I don't have specifics.