int-ftp:outbound-gateway - handling exceptions (file already exists on GET) - spring-integration

I am using int-ftp:outbound-gateway sample given in GITHUB.
Its working for me. The problem I am facing is : If the file already exists in my local its not overwriting with the file from FTP. Its throwing the following error and the execution stops :
I want to overwrite the local copy... Any idea on how to handle this scenario ?
WARNING: failure occurred in gateway sendAndReceive
Throwable occurred: org.springframework.integration.MessagingException: Local file \TOPROCESS\UserLastLoginData2015-10-08.csv already exists
at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.get(AbstractRemoteFileOutboundGateway.java:677)
at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway$2.doInSession(AbstractRemoteFileOutboundGateway.java:423)
at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway$2.doInSession(AbstractRemoteFileOutboundGateway.java:419)
at org.springframework.integration.file.remote.RemoteFileTemplate.execute(RemoteFileTemplate.java:295)
at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.doGet(AbstractRemoteFileOutboundGateway.java:419)
at org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway.handleRequestMessage(AbstractRemoteFileOutboundGateway.java:381)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:142)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:73)

Starting with Spring Integration version 4.1.4, you can set mode="REPLACE" on the outbound gateway.

Related

'MSSQL' encountered unexpected exception of type 'InvalidOperationException' with HResult 'x80131509' while opening connection

When I am trying to load a query into a tabular dateset (from a devops docker image) I will get the following error:
raise DatasetValidationError(error_message + '\n' + str(e), e)
azureml.data.dataset_error_handling.DatasetValidationError: Cannot load any data from the datastore using the SQL query "<azureml.data.datapath.DataPath object at 0x>". Please make sure the datastore and query is correct.
Error Code: ScriptExecution.DatabaseConnection.Unexpected
Failed Step: 9ad57100-4870-49d2-a32f-1c9c15c244e0
Error Message: ScriptExecutionException was caused by DatabaseConnectionException.
DatabaseConnectionException was caused by UnexpectedException.
'MSSQL' encountered unexpected exception of type 'InvalidOperationException' with HResult 'x80131509' while opening connection.
Internal connection fatal error.
I believe that I have allowed the connection in firewall (I might not have done it quite right).
I don't get the error when I am running it from the notebook (on the compute instance).
Is the code that is running on the compute instance the exact same as the docker image? If so, it's likely that the firewall is causing connectivity issues. One way of checking this is to (be cautious) disable the firewall and see if the connectivity issue is gone.
If you're comfortable sharing the firewall/network configurations, that will also help troubleshoot this.

The collection with url was not found

Hi I am working on TFS Migration form on-premises to VSTS online and also I am Upgrade the my TFS Server as a new Version.
Here I am Facing the problem is when I am running the validation commend in Command Prompt I am getting the below exception and I am passing the command is like below
TfsMigrator validate /collection:http://desktop-qvs5g7f:8080/tfs/DefaultCollection
when I am running the above command I am getting the below exception
The collection with url was not found: 'http://desktop-qvs5g7f:8080/tfs/DefaultCollection'
and with in the Log folder it creates one log description like in the below
TfsMigrator validate /collection:http://desktop-qvs5g7f:8080/tfs/DefaultCollection
Connection string not specified, trying to use the one from the Application Tier's web.config
Using the framework connection string Data Source=DESKTOP-QVS5G7F\SqlExpress;Initial Catalog=Tfs_Configuration;Integrated Security=True
Exception Message: The collection with url was not found: 'http://desktop-qvs5g7f:8080/tfs/DefaultCollection' (type ArgumentException)
Exception Stack Trace: at TfsMigrator.TfsMigratorCommand.CreateCollectionRequestContext(String collectionUrl)
at TfsMigrator.TfsMigratorCommandValidate.RunValidations(Boolean validateFiles)
at TfsMigrator.TfsMigratorCommandValidate.RunImpl()
at TfsMigrator.TfsMigratorCommand.Run()
For the above exception how to resolve that and for the validation Commands I am following the below URL as Reference is
https://www.visualstudio.com/en-us/articles/migration-import

inbound sftp channel adapter file locking issue

I am using sftp inbound channel adapter with custom remote filter. If filter accept that file then it is processed later and deleted fine as i set property "true" for remote delete.
Now when my file is not processed successfully and throws exception then i catch that exception and want to move locally download file to someother place but when i do that using FileUtils.forceDelete then it is throwing exception
java.io.IOException: Unable to delete file:
Looks like some other thread has lock on this file. Is there any way we can find out who owns the lock and how to release it so that my listener can move it to diff location.
not processed successfully and throws exception
Be sure to close the file in a finally block so your processing logic will always close the file.

Error on project

Im getting this error running my project.
type Exception report
messageInternal Server Error
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/IFPWAFCAD"
root cause
javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/IFPWAFCAD"
Anybody had a clue why this is happening?
Thanks for the help
This error could happened for many reasons (and since you don't upload more code its pretty difficult to help you).
First Possible Reason
You are getting this error "no suitable driver" because the resource referens isn't beed added to the web.xml deployment descriptor, so add the following code.
<resource-ref>
<description>Database for IFPWAFCAD application</description>
<res-ref-name>jdbc/IFPWAFCAD</res-ref-name>
<res-type>javax.sql.data source</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
Second possible Reason
This may be tricky but check that there is not 'blankspace' on your xml files
Third possible reason
If you are deploying the current app lets call them "testApp" to a Webserver, have in mind that you should copy the mysql connector to the lib directory of that web server
Hope this Help You

How to handle DNS-lookup failure to Azure Blob Storage

(I'm quite new to Windows Azure development, so I hope I'm using the right terms.)
We have an Azure Worker Role that is supposed to fetch data stored in Blob Storage.
Somehow we occasionally get the following error message:
Microsoft.WindowsAzure.StorageClient.StorageServerException: The server encountered an unknown failure: The remote name could not be resolved: 'XXX.blob.core.windows.net' ---> System.Net.WebException: The remote name could not be resolved: 'XXX.blob.core.windows.net'
This seems strange, since requests only a second before and/or after works as expected.
If I understand things correctly, the CloudBlob class has internal retry functionality. It seems that this is not considered as a "retryable" error. Is this perhaps handled by the Transient Error Handling Block (Topaz), or do we have to handle this specific error in some other way?

Resources